当前位置: 首页 > Linux

【力扣】70,爬楼梯

时间:2023-04-06 05:52:28 Linux

标题假设你正在爬楼梯。需要走n步才能到达建筑物的顶部。您一次可以爬1或2个台阶。您可以通过多少种不同的方式到达建筑物的顶部?注:给定的n为正整数。示例1:输入:2输出:2解释:有两种方法可以到达建筑物的顶部。1.Step1+Step12.Step2示例2:输入:3输出:3解释:有三种方法可以爬到建筑物的顶部。1.1storder+1storder+1storder2.1storder+2ndorder3.2ndorder+1storder这道题的解,只要你模拟一下,基本上可以认为是TP,状态方程为写成斐波那契数列。当dp[i]=dp[i-1]+dp[i-2]i-1时,跳一步可以到达ii-2。当跳一步是i-1时,这成为dp[i-1]的孩子问题是,只需跳过两步即可到达ijavaclass解决方案{publicintclimbStairs(intn){int[]dp=newint[n+1];dp[0]=1;dp[1]=1;对于(inti=2;i<=n;i++){dp[i]=dp[i-1]+dp[i-2];}返回dp[n];}}pythonclass解决方案:defclimbStairs(self,n):""":typen:int:rtype:int"""dp=[1foriinrange(n+1)]foriinrange(2,n+1):dp[i]=dp[i-1]+dp[i-2]returndp[n]热门文章【Spring】IOC是什么,有什么好处【Leetcode】67.二进制求和【Leetcode】66.加一个