leetcode111 爬楼梯 python实现
生活随笔
收集整理的這篇文章主要介紹了
leetcode111 爬楼梯 python实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
動態規劃類題目
描述
假設你正在爬樓梯,需要n步你才能到達頂部。但每次你只能爬一步或者兩步,你能有多少種不同的方法爬到樓頂部?
您在真實的面試中是否遇到過這個題?
樣例
Example 1:
Input: n = 3
Output: 3
Example 2:
Input: n = 1
Output: 1
思路:上第I級臺階的方法總共有兩大種,第一種是從第(i-1)級臺階上跨一級,第二種則是從第(I-2)級臺階上跨兩級,除此并無他法,由于這個上樓方法從(i-1)和(i-2)級各只有一種方法,那么上第i級臺階的總的方法和數就是上前兩級臺階的方法總和數
思路遞歸代碼
class Solution:"""@param n: An integer@return: An integer"""def climbStairs(self, n):# write your code hereif n==0:return 0if n==1:return 1pre,ppre=1,1# pre,ppre前時刻,前2時刻for i in range(2,n+1):tmp = pre#tmp 用于pre ,與ppre 完成數值改變pre = pre + ppre#當前等于前面兩步相加ppre = tmp#前一時刻變成前前時刻return pre 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的leetcode111 爬楼梯 python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python文本时间提取
- 下一篇: HMM算例 python 有代码