劍指Offer 跳臺階
阿新 • • 發佈:2018-02-26
off font 劍指offer jump ava for == href tps
題目描述:一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。
題目鏈接:跳臺階
思路:類似於斐波那契序列,跳上第n(n>3)級臺階,之前最後一步跳1級或2級。
步驟:
1 如果臺階級數n<=2,則返回n。
2 根據f(n)=f(n-1)+f(n-2),計算結果並返回。
Java代碼:
1 public class Solution {
2 public int JumpFloor(int target) {
3 if (target == 1 || target == 2) {
4 return target;
5 }
6
7 // a是f(n-1),b是f(n-2)
8 int a = 2, b = 1, c = 0;
9 for (int i = 3; i <= target; i++) {
10 c = a + b;
11
12 b = a;
13 a = c;
14 }
15
16 return c;
17 }
18 }
劍指Offer 跳臺階