8. 跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
Solution
if (target <= 2) return target;
JumpFloor(target) = JumpFloor(target - 1) + JumpFloor(target - 2);
发现计算过程类似斐波那契数列
所以用非递归方式
public class Solution {public int JumpFloor(int target) {if (target <= 2) return target;int i = 2;int a = 1, b = 2;int sum = 0;while (i < target) {sum = a + b;a = b;b = sum;i++;}return sum;}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
