# 练习

# 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

# 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

# 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