一週刷完劍指offer-9-變態跳臺階
阿新 • • 發佈:2020-09-17
變態跳臺階
1. 題目描述
一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。
2. 示例
無
3. 解題思路
相當於找規律的一道題目:
如果是1級 -> 1種
如果是2級 -> 一次跳2級 【2】,一次一次跳【1,1】, 2種
如果是3級 -> 【1,1,1】【1,2】【2,1】【3】,4種
如果是4級 -> 【1111】【112】【13】【121】【211】【22】【31】【4】,8種
所以找到規律:跳法 target = 2 的 (target-1) 次方
4. Java實現
public class Solution { public int JumpFloorII(int target) { if (target == 1) return 1; int res = 1 ; for (int i = 1; i < target; i++){ res *= 2; } return res; } }
5. Python實現
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
if number == 1:
return 1
res = 1
for i in range(1, number):
res *= 2
return res
如果您覺得本文有用,請點個“在看”