自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Samoyed的前端

微笑面对每一个bug

  • 博客(25)
  • 收藏
  • 关注

原创 中间高两边低排序

js 驼峰排序

2022-09-21 18:53:25 182

原创 字节算法面试题--判断括号

判断括号判断由"()[]{}"6种括号组成的字符串是否合法所有括号必须闭合左括号必须在正确的位置闭合主要思想是利用栈推入左半边括号,然后判断右半边括号是否在字符串剩余部分出现。用键值对的方式去判断是否包含左右括号。function IsValid(string) { let str = string; let map = { '(': -1, ')': 1, '[': -2, ']': 2, '{': -3, '}':

2020-12-02 10:26:38 194

原创 leetcode--打家劫舍

打家劫舍动态规划的又一道基础题,先分析问题子结构,再列公式。问题描述小偷进行偷窃,不能偷窃相邻的两个房间,不然会触发报警,请问怎样才能窃取到最大的金额。金额数字用数组表示[1, 2, 3, 1]问题分析要首先看一个问题能不能由他的子问题进行解决可以:能用动态规划;不可以:不能用动态规划解决。假设一共有n个房间,求偷n个房间的最大值最后一个房间只有偷和不偷两种方式偷:f(n) = f(n-2) + n不偷: f(n) = f(n-1)所以,n个房间的最大

2020-12-02 10:21:37 89

原创 函数柯里化

函数柯里化(currying)首先说一下为什么叫柯里化,完全是因为这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的。所以不必在意为什么叫这个名字,我们也可以记谐音颗粒化(将参数一个一个的传入)。这个就是把接收多个参数的方法变换成接收单一参数的函数,并且返回接收剩余参数的一个新函数。函数先来看一个简单的函数function multiply(x, y){ return x * y;}multiply(2, 5); // 10上

2020-11-09 02:36:06 99

原创 变量提升

提升变量先看两段代码// 第一段a = 2;var a;console.log( a ); // 2// 第二段var a;console.log( a ); // Undefineda = 2;正确的思考思路是,包括变量和函数在内的所有声明都会在任何代码被执行前首先被处理。当你看到 var a = 2; 时,可能会认为这是一个声明。 但 JavaSc

2018-01-15 01:40:13 163

原创 FCC--DNA Pairing(基因配对)

题目描述: DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。 Base pairs(碱基对) 是一对 AT 和 CG,为给定的字母匹配缺失的碱基。 在每一个数组中将给定的字母作为第一个碱基返回。 例如,对于输入的 GCG,相应地返回 [[“G”, “C”], [“C”,”G”],[“G”, “C”]]字母和与之配对的字母在一个数组内,然后所有数组再

2017-12-01 19:42:21 1081

原创 FCC--Diff Two Arrays(比较两个数组)

Diff Two Arrays 比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。提示数组Array.filter(),

2017-12-01 19:39:01 863

原创 FCC--Pig Latin(儿童黑话)

算法描述: 把一个英文单词的第一个辅音或辅音丛(consonant cluster)移到词尾,然后加上后缀 “ay”。

2017-12-01 19:31:54 1499

原创 Ubuntu安装oh-my-zsh

Ubuntu安装oh-my-zsh

2017-12-01 19:11:18 379

原创 转化实体--JS

转化实体 将字符串中的字符 &、、” (双引号), 以及 ’ (单引号)转换为它们对应的 HTML 实体。解题思路: 转化为对应的HTML实体可以用对象的形式来储存,关键字和值相对应。使用replace函数将匹配到的实体转化为对应的HTML实体。相关函数 Array.replace();function convert(str) { // :)

2017-11-27 23:50:18 1141

原创 前端常识篇--CSS

CSS 盒子模型和定位CSS盒子模型 所有HTML元素可以看作盒子,在CSS中,”box model”这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。 元素 中文名 图中的位置 Margin 外边距 清除边框外的区域,外边距是透明的。 B

2017-06-13 11:57:40 341

原创 中间高两边低排序

题目描述:1,4,5,23,2,17,24,10000000。按照中间高两边低进行排序,最后的结果是 1,4,5,23,10000000,24,17,2题目解析:从题目来看就是把数组一分为二,再把最大值放到中间。其实还可以简单一些:就是一分为二之后,左边的从小到大,右边的从大到小。var string = "1,4,5,23,2,17,24,10000000";

2017-06-08 22:32:23 2604

原创 九九乘法表

题目描述:完成一个99乘法表,如下图所示,用js生成,不能有table本来想用table实现,但是table貌似只能实现阶梯效果,因为table并不能进行错位。99乘法很简单两个for循环就可以实现,主要是布局,我搞了很久。布局解析:1. 一个div包裹住全部    2.div中有九个div分别代表每一行    3.每一行div中有一个span元素,为了能够设置它的宽高

2017-06-08 22:22:42 415

原创 FCC--Spinal Tap Case(单词连接)

题目描述:将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。例子:spinalCase("This Is Spinal Tap") 应该返回 "this-is-spinal-tap"。spinalCase("thisIsSpinalTap") 应该返回 "

2017-05-24 16:38:57 869

原创 FCC--Sorted Union(排序并集)

题目描述:写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。非重复的数字应该以它们原始的顺序排序,但最终的数组不应该以数字顺序排序。例子:unite([1, 3, 2], [5, 2, 1, 4], [2, 1]) 应该返回 [1,

2017-05-23 22:57:44 735

原创 FCC--Boo who(BOOL类型检查)

题目描述:检查一个值是否是基本布尔类型,并返回 true 或 false。基本布尔类型即 true 和 false。题目解析:

2017-05-23 19:18:15 323

原创 FCC--Missing letters(丢失的字母)

题目描述:从传递进来的字母序列中找到缺失的字母并返回它。如果所有字母都在序列中,返回 undefined。题目解析:遍历字符串,如果前一个字符的ASCII码不是后一个字符ASCII码+1,就判断为丢失字符,返回丢失的字符。                 丢失的字符只能通过ASCII码的转换来获得。function fearNotLetter(str) { //以字

2017-05-23 12:20:16 1241

原创 FCC--Search and Replace(替换字符串)

算法描述:使用给定的参数对句子执行一次查找和替换,然后返回新句子。第一个参数是将要对其执行查找和替换的句子。第二个参数是将被替换掉的单词(替换前的单词)。第三个参数用于替换第二个参数(替换后的单词)。注意:替换时保持原单词的大小写。例如,如果你想用单词 "dog" 替换单词 "Book" ,你应该替换成 "Dog"。解题思路:给了三个提示工具函数Ar

2017-05-22 12:19:39 325

原创 FCC--Roman Numeral Converter(罗马数字的转换)

将给定的数字转换成罗马数字。算法思路:1,将数字的每一位数字提出                 2,根据数字的位置和值赋予相对的罗马数字                 3,将获得的罗马数字进行拼接function convert(num) { var sig = 0,ten = 0,hundred = 0,thousand = 0; var str = '';

2017-05-19 18:02:52 2310 2

原创 FCC--Where do I belong(排序并寻找数字的下标)

先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引。举例:where([1,2,3,4], 1.5) 应该返回1。因为1.5插入到数组[1,2,3,4]后变成[1,1.5,2,3,4],而1.5对应的索引值就是1。同理,where([20,3,5], 19) 应该返回2。因为数组会先排序为 [3,5,20],19插入到数组[3,5,20]后变成[

2017-05-19 17:11:21 424

原创 FCC--Seek and Destroy(摧毁数组)

算法描述:实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值。例子: destroyer([1, 2, 3, 1, 2, 3], 2, 3) 应该返回 [1, 1].算法思路:1,将数组中的数字和后面的参数进行一一匹配,不相等则返回,相等则不返回。实现方法:算法类似过滤因此可以使用filter函数,将数组中的数字过滤。使用argumen

2017-05-19 14:52:42 2235

原创 FCC--Chunky Monkey(数组分组)和Slasher Flick(截断数组)

Chunky Monkey(数组分组)把一个数组arr按照指定的数组大小size分割成若干个数组块。例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];算法解析:1,利用两个指针p1,p2。p1指向数组开头位置,p2指向开头+size的位置           

2017-05-19 11:53:16 460

原创 FCC--Confirm the Ending(确认字符串的结尾)

检查一个字符串(str)是否以指定的字符串(target)结尾。如果是,返回true;如果不是,返回false。这个做了两次。第一次的解题思路:1,将两个字符串翻转                                2,然后将target字符串和str字符串进行比较3,直到target的最后一个字符function confirmEndi

2017-05-19 11:24:14 895

原创 FCC--Check for Palindromes(检查字符串是否为回文)

算法描述:如果给定的字符串是回文,返回true,反之,返回false。如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。函数参数的值可以为"racecar","RaceCar"和"race CAR"。算

2017-05-19 10:18:39 1338

原创 FCC -- Sum All Numbers in a Range(给定数字范围求和)

我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。最小的数字并非总在最前面。上面的描述是FCC给出的算法描述,简单易懂。解题思路:要求两个数字范围内的数字的总和,用for循环或者while循环就够用了。但在这里需要注意的就是两个数字的大小,比较一下大小,再用循环累加就可以了。function sumAll(arr) {

2017-05-18 17:04:48 1647 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除