# 练习
# LeetCode:70. 爬楼梯
var climbStairs = function (n) {
if (n < 2) return 1;
let dop = [1, 1]
for (let i = 2; i <= n; i++) {
dop[i] = dop[i - 1] + dop[i - 2]
}
return dop[n]
};
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# LeetCode:198. 打家劫舍
var rob = function (nums) {
if (nums.length === 1) return nums[0];
let dop = [0, nums[0]];
for (let i = 2; i <= nums.length; i++) {
dop[i] = Math.max(dop[i-2] + nums[i-1],dop[i-1])
}
return dop[nums.length]
};
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# LeetCode:120. 三角形最小路径和
var minimumTotal = function (triangle) {
for (let i = triangle.length - 2; i >= 0; i--) {
for (let j = 0; j < triangle[i].length; j++) {
triangle[i][j] = Math.min(triangle[i+1][j],triangle[i+1][j+1]) + triangle[i][j]
}
}
return triangle[0][0]
};
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8