Leetcode·爬楼梯
动态规划
时间复杂度:O(n),循环 n
空间复杂度:O(n),数组大小 n
执行耗时:0ms
内存消耗:35.1MB
class Solution {
public int climbStairs(int n) {
if (n==1) return 1;
//if (n==2) return 2;//加上这句,内存消耗会更低
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];
}
}
斐波那契数
时间复杂度:O(n),循环 n
空间复杂度:O(1),常量级
执行耗时:0ms
内存消耗:35MB
class Solution {
public int climbStairs(int n) {
if (n==1) return 1;
//常数替代数组
int first = 1;
//int second = 2;//加上这句内存消耗会更高
for (int i=3;i<=n;i++){
int third = first + second;
first = second;
second = third;
}
return second;
}
}
一文一哲理
别人怎么看你,或者你自己如何生活,都不重要