class Solution {
public int climbStairs(int n) {
// if(n==1) return 1; 时间O(n),空间O(n)
// int[] dp=new int[n+1];
// dp[1]=1;
// dp[2]=2;
// for(int i=3;i<=n;++i){
// dp[i]=dp[i-1]+dp[i-2];
// }
// return dp[n];
if(n==1) return 1; //时间复杂度为O(n),空间为O(1)
int first=1,second=2;
int third=0;
for(int i=3;i<=n;++i){
third=first+second;
first=second;
second=third;
}
return second;//为什么不写return third是因为当n=2时,third=0 输出的结果也是0
}
}
leetcode No.70爬楼梯
最新推荐文章于 2025-07-01 02:02:02 发布