K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知爬楼梯问题的递推关系为f(n) = f(n-1) + f(n-2),边界条件为f(1)=1,f(2)=2。
int climbStairs(int n) { if(n <= 2) return n; int dp[n]; dp[1] = 1; dp[2] = 2; for(int i=3; i<=n; i++) dp[i] = dp[i-1] + dp[i-2]; return dp[n]; }
int climbStairs(int n) { if(n <= 2) return n; vector<int> dp(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]; }
int climbStairs(int n) { if(n <= 2) return n; vector<int> dp(n); dp[0] = 1; dp[1] = 2; for(int i=2; i<n; i++) dp[i] = dp[i-1] + dp[i-2]; return dp[n]; }
int climbStairs(int n) { if(n <= 2) return n; int a=1, b=2, c; for(int i=3; i<=n; i++) { c = a + b; a = b; b = a; } return c; }