leetcode 70 爬楼梯

mac2022-06-30  24

可以发现这是一个斐波那契数列问题,一开始用递归超出时间限制,想起dp。

但是看评论想起来只需要前两项即可,即设置两个int缓存一下就可以。

class Solution { public: int climbStairs(int n) { if(n == 0) return 0; if(n == 1) return 1; if(n == 2) return 2; int a = 1, b = 2; int i = 3; int sum = 0; while(i <= n){ sum = a + b; a = b; b = sum; i++; } return sum; } };

 

最新回复(0)