LeetCode动态规划二之爬楼梯70

LeetCode动态规划二之爬楼梯70

动态规划

    public static int climbStairs(int n) {
        if (n==1) return 1;
        int[] nums=new int[n+1];
        nums[0]=0;nums[1]=1;nums[2]=2;
        for (int i = 3; i <= n; i++) {
            nums[i]=nums[i-1]+nums[i-2];
        }
        return nums[n];
    }

LeetCode动态规划二之爬楼梯70

学以致用

  • 确定状态:最后一步上去还是两步上去:最后n-1步:f(n-1) 最后n-2步:f(n-2)
  • 状态方程:f(n)=f(n-1)+f(n-2)
  • 初始条件和边界条件:f(1)=1;f(2)=2
  • 计算顺序:for (int i = 3; i <= n; i++) { }
上一篇:移动开发技术!卧薪尝胆70天内推入职阿里,经典好文


下一篇:meterpreter会话渗透利用常用的32个命令归纳小结