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

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

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

前言

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

跳臺(tái)階

問題描述:

一只青蛙一次可以跳上1級(jí)臺(tái)階,也可以跳上2級(jí)。求該青蛙跳上一個(gè)n級(jí)的臺(tái)階總共有多少種跳法。

分析:

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

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)跳臺(tái)階

問題描述:

一只青蛙一次可以跳上1級(jí)臺(tái)階,也可以跳上2級(jí)……它也可以跳上n級(jí)。求該青蛙跳上一個(gè)n級(jí)的臺(tái)階總共有多少種跳法。

分析:

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

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的小矩形橫著或者豎著去覆蓋更大的矩形。請(qǐng)問用n個(gè)2*1的小矩形無(wú)重疊地覆蓋一個(gè)2*n的大矩形,總共有多少種方法?

分析:

仔細(xì)分析這個(gè)問題實(shí)際上就是普通的跳臺(tái)階問題。

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é)

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

相關(guān)文章

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

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

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

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

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

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

    這篇文章主要介紹了python解析xml文件方式(解析、更新、寫入),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    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庫(kù)使用方法案例總結(jié)

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

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

    Python元組定義及集合的使用

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

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

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

    python matlab庫(kù)簡(jiǎn)單用法講解

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

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

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

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

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

最新評(píng)論