class Solution {
public int climbStairs(int n) {
if(n <= 0) {
throw new IllegalArgumentException();
}
if(n <= 2) {
return n;
}
int i = 1,j = 2;
for(int k = 3; k <= n; k++) {
//这里没有使用临时变量,算是个小技巧吧
//但是多了一次减法运算。这个技巧好像有点鸡肋
j = i + j;
i = j - i;
}
return j;
}
}
求斐波那契数列第n项的小技巧
最新推荐文章于 2022-11-16 16:05:47 发布