Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 1c79c28

Browse files
committed
feat: 斐波那契数列
1 parent d19835b commit 1c79c28

File tree

3 files changed

+59
-1
lines changed

3 files changed

+59
-1
lines changed

算法/动态规划/找硬币-动态规划版.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const coinChange = (coins, targetAmount) => {
55
// 设置初始条件为0 这一项无法用公式推导出来
66
dp[0] = 0;
77

8-
for (let amount = 0; amount <= targetAmount; amount++) {
8+
for (let amount = 1; amount <= targetAmount; amount++) {
99
for (let j = 0; j < coins.length; j++) {
1010
let coin = coins[j];
1111
if (coin <= amount) {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @param {number} N
3+
* @return {number}
4+
*/
5+
let fib = function (N) {
6+
let dp = new Array(N + 1).fill(0);
7+
8+
dp[0] = 0;
9+
dp[1] = 1;
10+
11+
for (let i = 2; i <= N; i++) {
12+
dp[i] = dp[i - 1] + dp[i - 2];
13+
}
14+
15+
return dp[N];
16+
};

算法/动态规划/爬楼梯-70.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
3+
4+
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
5+
6+
注意:给定 n 是一个正整数。
7+
8+
示例 1:
9+
10+
输入: 2
11+
输出: 2
12+
解释: 有两种方法可以爬到楼顶。
13+
1. 1 阶 + 1 阶
14+
2. 2 阶
15+
16+
17+
来源:力扣(LeetCode)
18+
链接:https://leetcode-cn.com/problems/climbing-stairs
19+
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
20+
*/
21+
22+
/**
23+
* 爬n阶楼梯,可以拆分为
24+
* 爬1阶加爬f(n-1)阶 + 爬2阶加爬f(n-2)阶 的方式。
25+
* @param {number} n
26+
* @return {number}
27+
*/
28+
let climbStairs = function (n) {
29+
let dp = new Array(n + 1).fill(0);
30+
31+
// 初始条件 爬一阶只有一种方式
32+
dp[1] = 1;
33+
dp[2] = 2
34+
35+
for (let i = 3; i <= n; i++) {
36+
dp[i] = dp[i - 1] + dp[i - 2];
37+
}
38+
39+
return dp[n];
40+
};
41+
42+
console.log(climbStairs(3))

0 commit comments

Comments
 (0)