leetcode111 爬楼梯 python实现
生活随笔
收集整理的這篇文章主要介紹了
leetcode111 爬楼梯 python实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
動(dòng)態(tài)規(guī)劃類題目
描述
假設(shè)你正在爬樓梯,需要n步你才能到達(dá)頂部。但每次你只能爬一步或者兩步,你能有多少種不同的方法爬到樓頂部?
您在真實(shí)的面試中是否遇到過這個(gè)題?
樣例
Example 1:
Input: n = 3
Output: 3
Example 2:
Input: n = 1
Output: 1
思路:上第I級(jí)臺(tái)階的方法總共有兩大種,第一種是從第(i-1)級(jí)臺(tái)階上跨一級(jí),第二種則是從第(I-2)級(jí)臺(tái)階上跨兩級(jí),除此并無他法,由于這個(gè)上樓方法從(i-1)和(i-2)級(jí)各只有一種方法,那么上第i級(jí)臺(tái)階的總的方法和數(shù)就是上前兩級(jí)臺(tái)階的方法總和數(shù)
思路遞歸代碼
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前時(shí)刻,前2時(shí)刻for i in range(2,n+1):tmp = pre#tmp 用于pre ,與ppre 完成數(shù)值改變pre = pre + ppre#當(dāng)前等于前面兩步相加ppre = tmp#前一時(shí)刻變成前前時(shí)刻return pre 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的leetcode111 爬楼梯 python实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python文本时间提取
- 下一篇: 偿债能力分析需要哪些数据