欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中跳臺階、變態(tài)跳臺階與矩形覆蓋問題的解決方法

 更新時間:2018年05月19日 15:00:15   作者:大師兄  
這篇文章主要給大家介紹了關(guān)于Python中跳臺階、變態(tài)跳臺階與矩形覆蓋問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

跳臺階、變態(tài)跳臺階、矩形覆蓋其實都和斐波那契數(shù)列是一類問題,文中通過示例代碼介紹的非常詳細(xì),下面話不多說了,來一起看看詳細(xì)的介紹吧。

跳臺階

問題描述:

一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

分析:

初始值很容易得到,當(dāng)n > 2時,跳上n級臺階最后一步無外乎兩種情況,從第n-1級跳一級跳上來,或是從第n-2級跳2級跳上來,因此很容易得到如下遞歸公式。

F(0)= 0
F(1)= 1
F(2)= 2
F(n)= F(n-1)+ F(n-2)(n > 2)

代碼:

def jump_floor(number):
 if number <= 2:
  return number
 prev, curr = 1, 2
 for _ in range(3, number+1):
  prev, curr = curr, prev+curr
 return curr

變態(tài)跳臺階

問題描述:

一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

分析:

相比上一個跳臺階,這次可以從任意臺階跳上第n級臺階,也可以直接跳上第n級。因此其遞歸公式為各個臺階之和再加上直接跳上去的一種情況。

F(0)= 0
F(1)= 1
F(2)= 2
F(n)= F(n-1)+ F(n-2)+ … + F(2)+ F(1)+ 1 = 2 **(n-1)

代碼:

def jump_floor(number):
 if number == 0:
  return 0
 return 2**(number-1)

矩形覆蓋

問題描述:

我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?

分析:

仔細(xì)分析這個問題實際上就是普通的跳臺階問題。

F(0)= 0
F(1)= 1
F(2)= 2
F(n)= F(n-1)+ F(n-2)(n > 2)

代碼:

def jump_floor(number):
 if number <= 2:
  return number
 prev, curr = 1, 2
 for _ in range(3, number+1):
  prev, curr = curr, prev+curr
 return curr

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Python新手們?nèi)菀追傅膸讉€錯誤總結(jié)

    Python新手們?nèi)菀追傅膸讉€錯誤總結(jié)

    python語言里面有一些小的坑,特別容易弄混弄錯,初學(xué)者若不注意的話,很容易坑進(jìn)去,下面我給大家深入解析一些這幾個坑,希望對初學(xué)者有所幫助,需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。
    2017-04-04
  • 解決python 文本過濾和清理問題

    解決python 文本過濾和清理問題

    文本過濾和清理所涵蓋的范圍非常廣泛,涉及文本解析和數(shù)據(jù)處理方面的問題。這篇文章主要介紹了解決python 文本過濾和清理問題,需要的朋友可以參考下
    2019-08-08
  • python解析xml文件方式(解析、更新、寫入)

    python解析xml文件方式(解析、更新、寫入)

    這篇文章主要介紹了python解析xml文件方式(解析、更新、寫入),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • linux系統(tǒng)使用python獲取內(nèi)存使用信息腳本分享

    linux系統(tǒng)使用python獲取內(nèi)存使用信息腳本分享

    這篇文章主要介紹了linux系統(tǒng)使用python獲取內(nèi)存使用情況信息,大家參考使用吧
    2014-01-01
  • Python Joblib庫使用方法案例總結(jié)

    Python Joblib庫使用方法案例總結(jié)

    Python Joblib庫是一個用于并行計算和數(shù)據(jù)預(yù)處理的工具庫。它可以幫助用戶快速處理大量數(shù)據(jù),提高計算效率。其中,最常用的功能是并行計算,可以使用多個CPU核心同時處理任務(wù),大大縮短計算時間。此外,Joblib還提供了一些數(shù)據(jù)預(yù)處理的功能,可以幫助用戶更好地處理數(shù)據(jù)
    2023-06-06
  • Python元組定義及集合的使用

    Python元組定義及集合的使用

    這篇文章主要介紹了Python元組定義及集合的使用,元組是Python中的一個內(nèi)置的數(shù)據(jù)結(jié)構(gòu),它是一個不可變的序列,所謂的不可變序列就是不可以進(jìn)行增刪改的操作
    2022-07-07
  • 從安裝到應(yīng)用全面掌握Python與OpenCV的配置與高級功能(最新推薦)

    從安裝到應(yīng)用全面掌握Python與OpenCV的配置與高級功能(最新推薦)

    OpenCV的強(qiáng)大功能不僅限于基本的圖像處理,還可以擴(kuò)展到實時視頻分析、復(fù)雜的圖像拼接和特征匹配等應(yīng)用場景,這篇文章主要介紹了從安裝到應(yīng)用全面掌握Python與OpenCV的配置與高級功能,需要的朋友可以參考下
    2024-08-08
  • python matlab庫簡單用法講解

    python matlab庫簡單用法講解

    在本篇文章里小編給大家整理了一篇關(guān)于python matlab庫簡單用法講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 如何使用Python設(shè)置和讀取config.ini文件

    如何使用Python設(shè)置和讀取config.ini文件

    使用配置文件是一種常見的方法,而INI文件是一種簡單而常見的配置文件格式,在本文中,我將介紹如何使用Python設(shè)置和讀取INI格式的配置文件,需要的朋友可以參考下
    2024-03-03
  • Python簡單實現(xiàn)socket信息發(fā)送與監(jiān)聽功能示例

    Python簡單實現(xiàn)socket信息發(fā)送與監(jiān)聽功能示例

    這篇文章主要介紹了Python簡單實現(xiàn)socket信息發(fā)送與監(jiān)聽功能,結(jié)合實例形式分析了Python基于socket構(gòu)建客戶端與服務(wù)器端通信相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01

最新評論