參考爬梯子問(wèn)題 這道題是斐波那契數(shù)列數(shù)列相關(guān): dp[0] = 1,dp[1]=1,dp[2]=2 dp[n] = dp[n-1]+dp[n-2];
我們可以對(duì)空間進(jìn)行進(jìn)一步優(yōu)化,我們只用兩個(gè)整型變量a和b來(lái)存儲(chǔ)過(guò)程值,首先將a+b的值賦給b,然后a賦值為原來(lái)的b,所以應(yīng)該賦值為b-a即可。這樣就模擬了上面累加的過(guò)程,而不用存儲(chǔ)所有的值,參見(jiàn)代碼如下
class Solution {public: int climbStairs(int n) { int a = 1, b = 1; while (n--) { b += a; a = b - a; } return a; }};新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注