File tree Expand file tree Collapse file tree 3 files changed +59
-1
lines changed Expand file tree Collapse file tree 3 files changed +59
-1
lines changed Original file line number Diff line number Diff 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 ) {
Original file line number Diff line number Diff line change 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+ } ;
Original file line number Diff line number Diff line change 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 ) )
You can’t perform that action at this time.
0 commit comments