您的位置:首页 > 编程语言 > Python开发

[牛客网,剑指offer,python] 变态跳台阶

2017-07-02 20:31 239 查看

变态跳台阶

题目描述

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

解题思路

这个问题和 跳台阶 很类似,只是将青蛙每次跳跃阶数的选择从两种扩展到了n种。

问题可以转换为:当前台阶的跳法种数 = 当前台阶之前的所有台阶的跳法之和

即:f (n) = f (n-1) + f (n-2) + f (n-3) + … + f (2) + f (1)

代码

# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
if number < 3:
return number
a = [0,1,2]
for i in range(3, number+1):
a.append(sum(a)+1)
return a[number]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 剑指offer