BM63. 跳台阶
描述
示例1
输入:
2
输出:
2
说明:
青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2示例2
输入:
7
输出:
21
C 解法, 执行用时: 2ms, 内存消耗: 336KB, 提交时间: 2021-05-16
/** * * @param number int整型 * @return int整型 */ int jumpFloor(int number ) { // write code here int a=1;//n-2阶跳法 int b=1;//n-1阶跳法 int c=0;//n阶 if(number==0||number==1){ return number; } for(int i=2;i<=number;i++){ c=b+a; a=b; b=c; } return c; }
C 解法, 执行用时: 2ms, 内存消耗: 344KB, 提交时间: 2021-05-02
/** * * @param number int整型 * @return int整型 */ int jumpFloor(int number ) { // write code here if (number==0||number==1) return number; int a=1,b=1,c; for (int i=2;i<=number;i++){ c=a+b; a=b; b=c; } return c; }
C 解法, 执行用时: 2ms, 内存消耗: 352KB, 提交时间: 2021-04-23
/** * * @param number int整型 * @return int整型 */ int jumpFloor(int number ) { // write code here int dp[number+1]; dp[0]=1; dp[1]=1; for(int n=2;n<=number;n++) { dp[n]=dp[n-1]+dp[n-2]; } return dp[number]; }
C++ 解法, 执行用时: 2ms, 内存消耗: 356KB, 提交时间: 2021-06-07
class Solution { public: int jumpFloor(int number) { if(number <= 2) { return number; } vector<int>res(number + 1, 0); res[1] = 1; res[2] = 2; for(int i = 3; i <= number; i++) { res[i] = res[i - 1] + res[i - 2]; } return res[number]; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 356KB, 提交时间: 2021-05-29
class Solution { public: int jumpFloor(int number) { if(number==1) return 1; vector<int> dp(number,0); dp[0]=1;dp[1]=2; for(int i=2;i<number;i++){ dp[i]=dp[i-1]+dp[i-2]; } return dp[number-1]; } };