劍指offer 66道 跳台階

2021-09-14 00:20:23 字數 1245 閱讀 4972

時間限制:1秒 空間限制:32768k 熱度指數:373877

題目描述

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。

與斐波那契數列思想一樣,同樣使用迴圈代替遞迴,時間複雜度為o(n)

# -

*- coding:utf-8-

*-class

solution

: def jumpfloor

(self, number)

: # write code here

if number<=0:

return

0if number==1:

return

1if number==2:

return

2 result=[0

]*(number+1)

result[0]

=0result[1]

=1result[2]

=2for i in

range(3

,number+1)

: result[i]

=result[i-1]

+result[i-2]

return result[number]

# return self.

jumpfloor

(number-1)

+self.

jumpfloor

(number-2)

if __name__ ==

"__main__"

:print

(solution()

.jumpfloor(3

))

function

jumpfloor

(number)

if(number===1)

if(number===2)

var result=

newarray

(number+1)

; result[1]

=1; result[2]

=2;for

(var i=

3;i<=number;i++

)return result[number]

}console.

log(

jumpfloor(3

))

劍指offer 跳台階

跳台階1 題目 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 遞迴思想 可以理解為前面m步的情況加上最後一步的情況,前面m步理解為,m 1步加上最後一步的情況。最後一步分為2中情況,上1級和上2級。如下 class solution 跳台階2 題目 ...

劍指Offer 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 解析 當青蛙到到n級時,有兩種跳法,一種是從n 1級跳1級,還有種是n 2跳2級 f n f n 1 f n 2 大家對這個公式是不是很熟悉,對,是斐波那契數列。所以這是一道動態規劃的問題。斐波那契數列,只能上...

劍指Offer 跳台階

author tom qian email tomqianmaple outlook.com github date 2017年8月10日 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 首先窮舉一下到達最後一級台階的情況,分析最後到達是一步還是兩步。...