Skip to content

Commit 2a2f206

Browse files
author
Chu Fan
committed
feat(docs):update
1 parent 0ce2659 commit 2a2f206

File tree

9 files changed

+181
-29
lines changed

9 files changed

+181
-29
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* 斐波那契数列,递归调用
3+
* 难度:入门
4+
* @param n
5+
* @returns {*}
6+
*/
7+
function fibonacciOne(n) {
8+
return n < 2 ? n : fibonacciOne(n - 1) + fibonacciOne(n - 2)
9+
}
10+
11+
/**
12+
* 斐波那契数列,迭代
13+
* 难度:入门
14+
* @param n
15+
*/
16+
function fibonacciTwo(n) {
17+
// 数列初始化
18+
let firstValue = 0
19+
let secondValue = 1
20+
21+
let result = 1
22+
for (let index = 3; index <= n; index++) {
23+
result = firstValue + secondValue
24+
// 前面两列重新赋值
25+
firstValue = secondValue
26+
secondValue = result
27+
}
28+
return result
29+
}
30+
31+
32+
console.log(fibonacciOne(4))
33+
console.log(fibonacciTwo(4))

code/algorithm/interview-101/removeElement.js

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/* function ListNode(x){
2+
this.val = x;
3+
this.next = null;
4+
} */
5+
function reverseList(pHead) {
6+
// write code here
7+
}
8+
module.exports = {
9+
reverseList
10+
}

docs/manuscript/solo-algorithm/interview-101/readme.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@
55

66
### 链表
77

8-
- [ ] [BM1 反转链表 【简单】]()
9-
- [ ] [BM2 链表内指定区间反转 【中等】]()
10-
- [ ] [BM3 链表中的节点每k个一组翻转 【中等】]()
11-
- [ ] [BM4 合并两个排序的链表 【简单】]()
12-
- [ ] [BM5 合并k个已排序的链表 【较难】]()
13-
- [ ] [BM6 判断链表中是否有环 【简单】]()
14-
- [ ] [BM7 链表中环的入口结点 【中等】]()
15-
- [ ] [BM8 链表中倒数最后k个结点 【简单】]()
16-
- [ ] [BM9 删除链表的倒数第n个节点 【中等】]()
17-
- [ ] [BM10 两个链表的第一个公共结点 【简单】]()
18-
- [ ] [BM11 链表相加(二) 【中等】]()
19-
- [ ] [BM12 单链表的排序 【中等】]()
20-
- [ ] [BM13 判断一个链表是否为回文结构 【简单】]()
21-
- [ ] [BM14 链表的奇偶重排 【中等】]()
22-
- [ ] [BM15 删除有序链表中重复的元素-I 【简单】]()
23-
- [ ] [BM15 删除有序链表中重复的元素-II 【中等】]()
8+
- [x] [BM1 反转链表 【简单】](链表/1.reverseList.md)
9+
- [ ] [BM2 链表内指定区间反转 【中等】](链表/1.reverseList.md)
10+
- [ ] [BM3 链表中的节点每k个一组翻转 【中等】](链表/1.reverseList.md)
11+
- [ ] [BM4 合并两个排序的链表 【简单】](链表/1.reverseList.md)
12+
- [ ] [BM5 合并k个已排序的链表 【较难】](链表/1.reverseList.md)
13+
- [ ] [BM6 判断链表中是否有环 【简单】](链表/1.reverseList.md)
14+
- [ ] [BM7 链表中环的入口结点 【中等】](链表/1.reverseList.md)
15+
- [ ] [BM8 链表中倒数最后k个结点 【简单】](链表/1.reverseList.md)
16+
- [ ] [BM9 删除链表的倒数第n个节点 【中等】](链表/1.reverseList.md)
17+
- [ ] [BM10 两个链表的第一个公共结点 【简单】](链表/1.reverseList.md)
18+
- [ ] [BM11 链表相加(二) 【中等】](链表/1.reverseList.md)
19+
- [ ] [BM12 单链表的排序 【中等】](链表/1.reverseList.md)
20+
- [ ] [BM13 判断一个链表是否为回文结构 【简单】](链表/1.reverseList.md)
21+
- [ ] [BM14 链表的奇偶重排 【中等】](链表/1.reverseList.md)
22+
- [ ] [BM15 删除有序链表中重复的元素-I 【简单】](链表/1.reverseList.md)
23+
- [ ] [BM15 删除有序链表中重复的元素-II 【中等】](链表/1.reverseList.md)
2424

2525
### 二分查找/排序
2626

@@ -83,8 +83,8 @@
8383

8484
### 动态规划
8585

86-
- [ ] [BM62 斐波那契数列 【入门】]()
87-
- [ ] [BM63 跳台阶 【简单】]()
86+
- [x] [BM62 斐波那契数列 【入门】](动态规划/fibonacci.md)
87+
- [x] [BM63 跳台阶 【简单】](动态规划/jumpFloor.md)
8888
- [ ] [BM64 最小花费爬楼梯 【简单】]()
8989
- [ ] [BM65 最长公共子序列(二) 【中等】]()
9090
- [ ] [BM66 最长公共子串 【中等】]()
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# 算法相关文档格式模版
2+
3+
4+
5+
6+
### 题目链接
7+
8+
- [牛客网]()
9+
- [欢迎讨论]()
10+
11+
### 题目描述
12+
13+
14+
### 思路
15+
16+
### 代码实现
17+
18+
@[code js](@code/algorithm/interview-101/reverseList.js)
19+
20+
21+
### 一些建议
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
2+
3+
# 斐波那契数列
4+
5+
6+
7+
8+
### 题目链接
9+
10+
- [牛客网](https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3)
11+
- [欢迎讨论]()
12+
13+
### 题目描述
14+
15+
大家都知道斐波那契数列,现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。
16+
斐波那契数列是一个满足:
17+
18+
- x = 1,2时 fib(x) = 1
19+
- x > 2 时 fib(x) = fib(x−1) + fib(x−2)
20+
21+
的数列
22+
数据范围: 1≤n≤40
23+
要求:空间复杂度O(1),时间复杂度O(n) ,本题也有时间复杂度O(logn) 的解法
24+
25+
### 思路
26+
27+
方案一:递归
28+
29+
方案二:动态规划、循环迭代
30+
31+
### 代码实现
32+
33+
@[code js](@code/algorithm/interview-101/动态规划/fibonacci.js)
34+
35+
36+
### 一些建议
37+
38+
- 熟记斐波那契数列特性
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# 跳台阶
2+
3+
4+
### 题目链接
5+
6+
- [牛客网](https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4)
7+
- [欢迎讨论]()
8+
9+
### 题目描述
10+
11+
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
12+
13+
数据范围:1≤n≤40
14+
要求:时间复杂度:O(n) ,空间复杂度:O(1)
15+
16+
### 思路
17+
18+
总共有n个台阶,假如
19+
20+
- 第一次跳1阶,即:a1=1,则还剩下n-1可以再第二次选择,那么共n-1个台阶,会有多少种跳法???
21+
- 第一次跳2阶,即:a1=2,则还剩下n-2可以再第二次选择,那么共n-2个台阶,会有多少种跳法???
22+
23+
24+
问题很容易就演变成G(n)=G(n-1)+ G(n-2)
25+
26+
这不就是斐波那契数列么???? 可以参考:[【入门】斐波那契数列](./fibonacci.md)
27+
28+
29+
### 代码实现
30+
31+
@[code js](@code/algorithm/剑指/动态规划/jumpFloor.js)
32+
33+
34+
### 一些建议
35+
36+
- 数学分析、逻辑思维很重要
37+
- 熟练斐波那契数列
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# BM1 反转链表
2+
3+
4+
5+
6+
### 题目链接
7+
8+
- [牛客网](https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca)
9+
- [欢迎讨论]()
10+
11+
### 题目描述
12+
13+
![反转链表.png](reverseList.png)
14+
15+
16+
17+
### 思路
18+
19+
### 代码实现
20+
21+
@[code js](@code/algorithm/interview-101/reverseList.js)
22+
23+
24+
### 一些建议
46.8 KB
Loading

0 commit comments

Comments
 (0)