本文實(shí)例講述了Python3爬樓梯算法。分享給大家供大家參考,具體如下:
假設(shè)你正在爬樓梯。需要 n 步你才能到達(dá)樓頂。
每次你可以爬 1 或 2 個(gè)臺(tái)階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是一個(gè)正整數(shù)。
方案一:每一步都是前兩步和前一步的和
class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ pre, cur = 1, 1 for i in range(1,n): pre,cur = cur,pre+cur return cur#測(cè)試tmp = Solution()print(tmp.climbStairs(10))
運(yùn)行結(jié)果:
89
方案二:用列表記錄每個(gè)n對(duì)應(yīng)的值,最后的n取最后一個(gè)值即可
class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ if n == 1: return 1 if n == 2: return 2 res = [1, 2] for i in range(2, n): res.append(res[i - 1] + res[i - 2]) return res[-1]#測(cè)試tmp = Solution()print(tmp.climbStairs(10))
運(yùn)行結(jié)果:
89
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選