《剑指offer》 跳台阶

时间:2022-02-04 08:10:27

本题来自《剑指offer》 跳台阶

题目1:

  一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

思路:

  同上一篇。

C++ Code:

class Solution {
public:
int jumpFloor(int number) {
int one = ;
int two = ;
int floor = ;
for (unsigned int i =;i<=number;i++){
floor = one + two;
one = two;
two = floor;
}
return floor;
}
};

Python Code:

# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
# write code here
one = 1
two = 1
for i in range(number):
one,two = two,one+two
return one

题目2:变态跳台阶

  一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路:

  归纳总结共有2的n-1次方种跳法,所以直接返回数学表达式。

Python code:

# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
floor = 1
for i in range(number-1):
floor *= 2
return floor