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

LeetCode百錢(qián)買(mǎi)百雞python遞歸解法示例

 更新時(shí)間:2023年11月20日 10:49:50   作者:voyage200  
這篇文章主要為大家介紹了LeetCode百錢(qián)買(mǎi)百雞題目python遞歸解法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

plan A

#公雞5文錢(qián)一只 母雞3文錢(qián)一只 小雞1文錢(qián) 三只
money = 100
def buy_kun(gong:int,mu:int,xiao:int,c:int) -> None:
    if gong*5+mu*3+xiao > money or gong+mu+xiao*3>100:
        return
    if gong*5+mu*3+xiao == money  and gong+mu+xiao*3==100:
        print(f'買(mǎi){gong}只公雞,{mu}只母雞,{xiao*3}只小雞,剛好湊夠{money}文錢(qián)。')
        return
    if c<1 :
        buy_kun(gong+1,mu,xiao,0)
    if c<2:
        buy_kun(gong,mu+1,xiao,1)
    if c<3:
        buy_kun(gong,mu,xiao+1,2)
buy_kun(0,0,0,0)

plan B

參考:## 狀態(tài)轉(zhuǎn)移解法(遞歸)

# (公雞數(shù),母雞數(shù),小雞數(shù),總錢(qián)數(shù),總雞數(shù)),狀態(tài)轉(zhuǎn)移
import numpy as np  # 導(dǎo)入numpy庫(kù)
st = np.zeros((100, 100, 100))  # 新建三維數(shù)組,且初始值為0,記錄狀態(tài)是否被遍歷過(guò),進(jìn)行剪枝操作
def resolve(a, b, c, d, e):
    if d == 100 and e == 100:
        print("%s只公雞,%s只母雞,%s只小雞" % (a, b, c))
    else:
        a1 = a + 1
        b1 = b + 1
        c1 = c + 3
        if d + 5 <= 100 and e + 1 <= 100 and st[a1][b][c] == 0:
            st[a1][b][c] = 1
            resolve(a1, b, c, d + 5, e + 1)
        if d + 3 <= 100 and e + 1 <= 100 and st[a][b1][c] == 0:
            st[a][b1][c] = 1
            resolve(a, b1, c, d + 3, e + 1)
        if d + 1 <= 100 and e + 3 <= 100 and st[a][b][c1] == 0:
            st[a][b][c1] = 1
            resolve(a, b, c1, d + 1, e + 3)
# (公雞數(shù),母雞數(shù),小雞數(shù),總錢(qián)數(shù),總雞數(shù))
resolve(0, 0, 0, 0, 0)

## 運(yùn)行結(jié)果

小結(jié)

#公雞5文錢(qián)一只 母雞3文錢(qián)一只 小雞1文錢(qián) 三只
import numpy as np
st = np.zeros((100, 100, 100))
money = 100
def buy_kun(gong:int,mu:int,xiao:int) -> None:
    if st[gong][mu][xiao] == 1:
        return
    else:
        st[gong][mu][xiao] = 1
    if gong*5+mu*3+xiao > money or gong+mu+xiao*3>100:
        return
    if gong*5+mu*3+xiao == money  and gong+mu+xiao*3==100:
        print(f'買(mǎi){gong}只公雞,{mu}只母雞,{xiao*3}只小雞,剛好湊夠{money}文錢(qián)。')
        return
    buy_kun(gong+1,mu,xiao)
    buy_kun(gong,mu+1,xiao)
    buy_kun(gong,mu,xiao+1)
buy_kun(0,0,0)

以上就是LeetCode百錢(qián)買(mǎi)百雞python遞歸解法示例的詳細(xì)內(nèi)容,更多關(guān)于百錢(qián)買(mǎi)百雞python遞歸解法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python利用JMeter測(cè)試Tornado的多線程

    python利用JMeter測(cè)試Tornado的多線程

    這篇文章主要介紹了python利用JMeter測(cè)試Tornado的多線程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • python 時(shí)間處理之月份加減問(wèn)題

    python 時(shí)間處理之月份加減問(wèn)題

    這篇文章主要介紹了python 時(shí)間處理之月份加減問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python基于property()函數(shù)定義屬性

    python基于property()函數(shù)定義屬性

    這篇文章主要介紹了python基于property()函數(shù)定義屬性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python實(shí)現(xiàn)程序的單一實(shí)例用法分析

    Python實(shí)現(xiàn)程序的單一實(shí)例用法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)程序的單一實(shí)例用法,較為詳細(xì)的分析了Python窗口的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • Python通過(guò)兩個(gè)dataframe用for循環(huán)求笛卡爾積

    Python通過(guò)兩個(gè)dataframe用for循環(huán)求笛卡爾積

    這篇文章主要介紹了Python通過(guò)兩個(gè)dataframe用for循環(huán)求笛卡爾積,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Tensorflow 多線程與多進(jìn)程數(shù)據(jù)加載實(shí)例

    Tensorflow 多線程與多進(jìn)程數(shù)據(jù)加載實(shí)例

    今天小編就為大家分享一篇Tensorflow 多線程與多進(jìn)程數(shù)據(jù)加載實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python使用pynput捕獲單個(gè)按鍵的步驟詳解(包括組合鍵和功能鍵)

    python使用pynput捕獲單個(gè)按鍵的步驟詳解(包括組合鍵和功能鍵)

    在數(shù)字時(shí)代,鍵盤(pán)是與計(jì)算機(jī)交流的主要工具,鍵盤(pán)的每一次敲擊都承載著信息,而在某些場(chǎng)景下,可能需要記錄這些信息,這時(shí)候,pynput庫(kù)就派上了大用場(chǎng),它可以輕松地幫捕獲并記錄鍵盤(pán)上的每一個(gè)操作,所以本文給大家介紹了python使用pynput捕獲鍵的操作步驟
    2024-05-05
  • 詳解python的webrtc庫(kù)實(shí)現(xiàn)語(yǔ)音端點(diǎn)檢測(cè)

    詳解python的webrtc庫(kù)實(shí)現(xiàn)語(yǔ)音端點(diǎn)檢測(cè)

    這篇文章主要介紹了詳解python的webrtc庫(kù)實(shí)現(xiàn)語(yǔ)音端點(diǎn)檢測(cè),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Python日期操作學(xué)習(xí)筆記

    Python日期操作學(xué)習(xí)筆記

    字符串是使用靜態(tài)的方式進(jìn)行存儲(chǔ),只能讀而不能直接修改字符內(nèi)容。特別將一堆對(duì)字符串并在一起的時(shí)候,雖然可以直接相加,聽(tīng)說(shuō)這樣的速度奇慢,只有用其它函數(shù)的方式進(jìn)行,好在也不太麻煩。
    2008-10-10
  • Django框架模板語(yǔ)言實(shí)例小結(jié)【變量,標(biāo)簽,過(guò)濾器,繼承,html轉(zhuǎn)義】

    Django框架模板語(yǔ)言實(shí)例小結(jié)【變量,標(biāo)簽,過(guò)濾器,繼承,html轉(zhuǎn)義】

    這篇文章主要介紹了Django框架模板語(yǔ)言,結(jié)合實(shí)例形式總結(jié)分析了Django框架中變量,標(biāo)簽,過(guò)濾器,繼承,html轉(zhuǎn)義等相關(guān)模板語(yǔ)言操作技巧,需要的朋友可以參考下
    2019-05-05

最新評(píng)論