乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
當只有1個台階時,只有一種跳法,那就是1。
當有2個台階時,則有兩種跳法,分別是1+1和2。
當有3個台階時,則有3種跳法,分別是1+1+1,1+2和2+1。
當有4個台階時,則有5種跳法,分別是1+1+1+1,1+1+2,1+2+1,2+1+1和2+2。
當有5個台階時,則有8種跳法
…以此類推,則有如下的規律
設階梯數為number,跳法為way
number0=1,way0=1
number1=2,way2=2
number2=3,way3=3=way1+way2
number3=4,way4=5=way2+way3
number4=5,way4=8=way3=way4
…所以這道題歸根到底是斐波那契數列問題,這裡用的是循壞迭代法來解決這個問題。
class
solution
:def
jumpfloor
(self, number)
:# write code here
f0=1 f1=
2 a=[1
,2]if number==1:
return f0
if number==2:
return f1
else
:for i in
range(2
,number+1)
:1]+a[i-2]
) f0=f1
f1=a
return a[number-
1]
牛客刷題 跳台階
題目 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 天哪,跳台階都不會寫.依稀記得本科離散好像講過這個題,理解了跳台階的原理就很好寫了,如果直接說讓我寫乙個斐波那契數列,那我肯定還是可能寫的.跳台階的話首先知道n 1時,k 1,n...
牛客66道程式設計題 替換空格
class solution s 源字串 defreplacespace self,s write code here return s.replace 20 class solution s 源字串 defreplacespace self,s write code here s list s 把...
牛客網 跳台階
題目 1.乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。2.乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 斐波那契數列問題,只有一階時,跳法f 1 1 有兩階時,跳法f 2 2 第三階開始...