一、题目
一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级…… 它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
二、分析及代码
1. 排列组合
(1)思路
本题可直接用数学中排列组合的思想进行求解,因为青蛙一次可以跳任意级台阶,相当于从第 0 到第 n 级台阶,中间的 n - 1 级台阶青蛙都可选择跳或不跳,即共有 2 ^ (n - 1) 种跳法。
为提高运算速度,可直接用二进制移位操作实现。
(2)代码
public class Solution {
public int JumpFloorII(int target) {
int ans = 1;
for (int i = 1; i < target; i++)
ans <<= 1;
return ans;
}
}
(3)结果
运行时间: 13 ms,占用内存 9332 k。
三、其他
暂无。