My code:
public class Solution {
public int climbStairs(int n) {
if (n <= 0)
return 0;
int[] dp = new int[n + 1];
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i < dp.length; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[dp.length -1];
}
}
My test result:
Paste_Image.png
這道題目是之前拿到 decode ways 的簡(jiǎn)單版髓废。不需要考慮履澳,數(shù)字不存在的情況赂毯。也不需要考慮
dp[1] 等于多少。
總算是自己做出來(lái)的DP萍丐。第一道纤控。。
**
總結(jié): DP
**
Anyway, Good luck, Richardo!
My code:
public class Solution {
public int climbStairs(int n) {
if (n <= 0)
return 0;
else if (n == 1)
return 1;
else if (n == 2)
return 2;
int[] steps = new int[n];
steps[0] = 1;
steps[1] = 2;
for (int i = 2; i < n; i++)
steps[i] = steps[i - 1] + steps[i - 2];
return steps[n - 1];
}
}
easy dp
Anyway, Good luck, Richardo!
差不多的思路碉纺。代碼就不放了船万。
其實(shí)就是 斐波那契數(shù)列刻撒。
Discuss里面最好的解法是直接用通項(xiàng)公式。然后會(huì)有個(gè)問(wèn)題耿导。
如果求 f(900), 怎么求声怔?
這個(gè)時(shí)候,用DP的話(huà)舱呻,答案早就 stack overflow了醋火,所以得換種想法。
有時(shí)間可以思考下箱吕。
Anyway, Good luck, Richardo! -- 08/26/2016