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番目の項を見つけるためのヒント
おすすめ
転載: blog.csdn.net/vxzhg/article/details/104571856
おすすめ
ランキング