标签:台阶 offer int JZ09 变态 跳上 2F return +...+
第9题 变态跳台阶
题目描述
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution {
public:
int jumpFloorII(int n) {
if (n == 0 || n == 1) return 1;
return pow(2, n-1);
}
};
对于n级台阶,最后一步可能的跳的台阶数为1,2,……,n,所以前一阶台阶可能为n-1,n-2,……,0,所以有:
F
[
n
]
=
F
[
n
−
1
]
+
F
[
n
−
2
]
+
.
.
.
+
F
[
0
]
F[n]=F[n-1]+F[n-2]+...+F[0]
F[n]=F[n−1]+F[n−2]+...+F[0]
而对于n-1级台阶:
F
[
n
−
1
]
=
F
[
n
−
2
]
+
F
[
n
−
3
]
+
.
.
.
+
F
[
0
]
F[n-1]=F[n-2]+F[n-3]+...+F[0]
F[n−1]=F[n−2]+F[n−3]+...+F[0]
所以:
F
[
n
]
=
2
F
[
n
−
1
]
F[n]=2F[n-1]
F[n]=2F[n−1]
以此类推:
F
[
n
]
=
2
n
−
1
F
[
1
]
=
2
n
−
1
F[n]=2^{n-1}F[1] =2^{n-1}
F[n]=2n−1F[1]=2n−1
标签:台阶,offer,int,JZ09,变态,跳上,2F,return,+...+ 来源: https://blog.csdn.net/KazeHelloWorld/article/details/111899078
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。