爬楼梯
题目
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
思路
其实就是一个简单题,每次能够爬1个或者两个楼梯,那么对于第n阶楼梯而言,有从n-1阶直接走上来的方法,也有从n-2阶走上来的方法。所以,nums[n]=nums[n-1]+nums[n-1]。
代码
//爬楼梯,每次能够爬一个阶梯或者两个阶梯
class Solution {
public int climbStairs(int n) {
int first=1;
int second=2;
if (n==1)
return 1;
if (n==2)
return 2;
int result=0;
for (int i=3;i<=n;++i)
{
result=first+second;
first=second;
second=result;
}
return result;
}
}
结果
就是想水一道题,不然今天没发博客。。。。