0%

描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。
两种写法,一种递归,一种开循环。
写递归有一个问题,当数据量庞大的时候,递归会爆栈,开循环就不存在爆栈的问题,因为循环只是在一个调用栈执行的,并且不会像递归一样重复计算值。

阅读全文 »

描述:给定一个非负整数数组,你最初位于数组的第一个位置。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个位置

阅读全文 »

描述:根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。

给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 live(1)即为活细胞, 或 dead(0)即为死细胞。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:

如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;
如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;
如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡;
如果死细胞周围正好有三个活细胞,则该位置死细胞复活;
根据当前状态,写一个函数来计算面板上细胞的下一个(一次更新后的)状态。下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。

阅读全文 »

grid

css

1
2
3
4
5
6
7
8
9
10
.main{
display: grid;
grid-template-columns:repeat(auto-fill,27rem);
grid-gap:3rem 1.5rem;
}
.main > .item{
background-color: blue;
width:100%;
height: 100px;
}

html

阅读全文 »

在公司维护前人代码的时候,经常会遇见一堆的if-else语句

if-else

1
2
3
4
5
6
7
8
9
10
11
12
const flag = (status)=>{
if(status ==0){
//do somethind
}else if(status==1){
//do somethind
}else if(status ==2){
//do something
}else if(status ==3){
//do something
}
//...
}
阅读全文 »

查看当前工作区状态

git status

提交当前工作区文件到暂存区

git add

提交暂存区的修改到当前分支

git commit

阅读全文 »

new运算符的实现

定义一个函数,以及原型链的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function Testfoo(name) {
console.log(this[name])
};

Testfoo.prototype.sayHello= function(){
console.log('hello');
return 1;
}
//使用new运算符
let aaa = new Testfoo();
aaa.sayHello();//输出hello
//不使用new运算符
let testObj = {};//创建空对象
testObj=Object.create(Testfoo.prototype);//创建一个具有Testfoo的原型链的空方法
Testfoo.call(testObj);//指定this
console.log('testObj',testObj.sayHello());//输出hello
阅读全文 »