題目要求:
"""
1.第**台階的走法就是第一級台階+第二級台階的走法之和
依次類推,第三項跳台階的方法是前兩項之和
n-1項再跳一階,n-2項再跳兩階 dp(n-1)+dp(n-2)
"""def
jumpfloori
(number)
:if number==1:
return
1elif number==2:
return
2else
: s =
1)2)
for i in
range(2
, number):1
]+s[i-2]
)return s[-1
]"""
2. 第n級台階的走法是前面所有台階走法之和+1
比如第4級台階:第一項再跳3階,第二項再跳2階,第三項再跳1階或者直接跳4階 dp(1)+dp(2)+dp(3)+1
"""def
jumpfloorii
(number)
: s =
1)for i in
range
(number)
:sum
(s)+1)
return s[-1
]if __name__ ==
'__main__'
:print
(jumpfloori(4)
)print
(jumpfloorii(4)
)
跳台階問題
題目 乙個台階總共有n級,如果一次可以跳1級,也可以跳2級。求總共有多少總跳法,並分析演算法的時間複雜度。分析 這道題最近經常出現,包括microstrategy等比較重視演算法的公司都曾先後選用過個這道題作為面試題或者筆試題。首先我們考慮最簡單的情況。如果只有1級台階,那顯然只有一種跳法。如果有2...
跳台階問題
有n個階梯,青蛙一次可以跳乙個或者兩個,求總共有多少種跳法可以到達頂端?思路 如果只有一階,那麼只有一種跳法 如果有2階,那麼有2中跳法 跳1階再跳1階,一次跳2階 那麼如果有n階呢?假設對於n階的階梯,我們有f n 中跳法 那麼n階時,我們考慮如果第一次跳共有兩種選擇 第一次跳了1階,剩下n 1階...
跳台階問題
題目 給定乙個有n個台階的樓梯,乙個人從下到上開始跳台階,這個人有兩種跳的方式 一次跳乙個台階,一次跳兩個台階 問 從台階底端跳到台階頂端,有多少種跳台階的方式?分析 首先我們考慮最簡單的情況。如果只有1個台階,那麼顯然只有一種跳法 如果是2級台階,那麼有2種跳法。對於乙個有n級台階的樓梯來說,我們...