最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python貪心算法Greedy Algorithm解決案例小結

 更新時間:2023年06月16日 15:18:40   作者:ShowMeCoding  
這篇文章主要為大家介紹了Python貪心算法Greedy Algorithm解決案例小結,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

貪心算法

在每一次做決策時,保證當下的決策是最優(yōu)的,從而使得最后的結果是最優(yōu)的。

分發(fā)餅干

455. 分發(fā)餅干

假設你是一位很棒的家長,想要給你的孩子們一些小餅干。但是,每個孩子最多只能給一塊餅干。

對每個孩子 i,都有一個胃口值 g[i],這是能讓孩子們滿足胃口的餅干的最小尺寸;并且每塊餅干 j,都有一個尺寸 s[j] 。如果 s[j] >= g[i],我們可以將這個餅干 j 分配給孩子 i ,這個孩子會得到滿足。你的目標是盡可能滿足越多數(shù)量的孩子,并輸出這個最大數(shù)值。

# 最好的選擇是不要浪費餅干
class Solution:
    def findContentChildren(self, g: List[int], s: List[int]) -> int:
        # 先對胃口值和餅干尺寸排序
        g.sort()
        s.sort()
        g_l = len(g)
        g_index = 0
        s_l = len(s)
        s_index = 0
        # 計數(shù)
        count = 0
        # 終止條件:孩子數(shù) 和 餅干數(shù)是否在條件內
        while g_index < g_l and s_index < s_l:
            # 胃口小于餅干
            if g[g_index] <= s[s_index]:
                # 餅干被消耗
                count += 1
                g_index += 1
                s_index += 1
            # 胃口大于餅干
            else:
                # 尋求更多的餅干滿足胃口
                s_index += 1
        return count

無重疊區(qū)間

435. 無重疊區(qū)間

給定一個區(qū)間的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除區(qū)間的最小數(shù)量,使剩余區(qū)間互不重疊 。

輸入: intervals = [[1,2],[2,3],[3,4],[1,3]]
輸出: 1

解釋: 移除 [1,3] 后,剩下的區(qū)間沒有重疊。

class Solution:
    def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
        # 判斷是否為空
        if not intervals:
            return 0
        # 對end值進行升序排序
        intervals.sort(key = lambda x: x[1])
        # 維護一個最小值
        end_pos = intervals[0][1]
        # 只有單個區(qū)間時無重疊?。?!因此定義為1
        count = 1
        # 終止條件
        for i in range(1, len(intervals)):
            # 判斷是否連續(xù)
            if end_pos <= intervals[i][0]:
                count += 1
                end_pos = intervals[i][1]
        return len(intervals) - count

二維數(shù)組排序的方法:intervals.sort(key = lambda x: x[1])
思路轉換:求最小移除數(shù)組,意味著求最大連續(xù)數(shù)組

檸檬水找零

860. 檸檬水找零

輸入:bills = [5,5,5,10,20]
輸出:true

解釋:

前 3 位顧客那里,我們按順序收取 3 張 5 美元的鈔票。

第 4 位顧客那里,我們收取一張 10 美元的鈔票,并返還 5 美元。

第 5 位顧客那里,我們找還一張 10 美元的鈔票和一張 5 美元的鈔票。

由于所有客戶都得到了正確的找零,所以我們輸出 true。

class Solution:
    def lemonadeChange(self, bills: List[int]) -> bool:
        five, ten, twenty = 0, 0, 0
        for bill in bills:
            if bill == 5:
                five += 1
            if bill == 10:
                # 是否可以找回
                if five <= 0:
                    return False
                # 收下 10 元
                ten += 1
                # 找回 5 元
                five -= 1
            if bill == 20:
                # 是否可以找回一張5元和一張10元
                if five > 0 and ten > 0:
                    five -= 1
                    ten -= 1
                    twenty += 1
                # 是否可以找回三張 5 元
                elif five >= 3:
                    five -= 3
                    twenty += 1
                else:
                    return False
        return True

以上就是Python貪心算法Greedy Algorithm解決案例小結的詳細內容,更多關于Python貪心算法的資料請關注腳本之家其它相關文章!

相關文章

  • python 利用棧和隊列模擬遞歸的過程

    python 利用棧和隊列模擬遞歸的過程

    這篇文章主要介紹了python 利用棧和隊列模擬遞歸的過程,文中并通過兩段代碼給大家介紹了下遞歸和非遞歸的區(qū)別,需要的朋友可以參考下
    2018-05-05
  • python 詳解turtle畫愛心代碼

    python 詳解turtle畫愛心代碼

    這篇文章主要介紹了python畫愛心的過程。文中的示例代碼講解詳細,對我們學習Python有一定的價值,需要的可以參考一下
    2022-02-02
  • Python解析MySQL Binlog日志分析情況

    Python解析MySQL Binlog日志分析情況

    文章介紹了如何使用Python解析MySQL的binlog日志,并通過分析binlog來了解數(shù)據(jù)庫的變動情況,如大事務、頻繁更新的表等,文章詳細描述了binlog的結構、事件類型以及如何通過解析這些事件來獲取所需的信息,最后,文章提供了一個示例代碼
    2025-01-01
  • python獲取代碼運行時間的實例代碼

    python獲取代碼運行時間的實例代碼

    今天小編就為大家分享一篇python獲取代碼運行時間的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)詳解

    python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)詳解

    這篇文章主要給大家介紹了關于python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12
  • jupyter 實現(xiàn)notebook中顯示完整的行和列

    jupyter 實現(xiàn)notebook中顯示完整的行和列

    這篇文章主要介紹了jupyter 實現(xiàn)notebook中顯示完整的行和列,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python實現(xiàn)獲取Windows設備信息

    Python實現(xiàn)獲取Windows設備信息

    這篇文章主要為大家詳細介紹了如何在Python中獲取設備網(wǎng)絡標識(MAC地址)的方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2026-04-04
  • Python asyncio核心原理與高階應用全解析

    Python asyncio核心原理與高階應用全解析

    這篇文章主要介紹了Python asyncio核心原理與高階應用,asyncio是Python中強大的異步I/O框架,它允許我們編寫高效的并發(fā)代碼,通過掌握asyncio的高級應用,我們可以編寫更加高效、響應迅速的應用程序,需要的朋友可以參考下
    2026-05-05
  • Python3如何將源目錄中的圖片用MD5命名并可以設定目標目錄

    Python3如何將源目錄中的圖片用MD5命名并可以設定目標目錄

    這篇文章主要介紹了Python3如何將源目錄中的圖片用MD5命名并可以設定目標目錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python批量寫入ES索引數(shù)據(jù)的示例代碼

    Python批量寫入ES索引數(shù)據(jù)的示例代碼

    這篇文章主要為大家詳細介紹了如何使用python腳本批量寫ES數(shù)據(jù)(需要使用pip提前下載安裝es依賴庫),感興趣的小伙伴可以學習一下
    2024-02-02

最新評論

砀山县| 徐汇区| 同仁县| 铁力市| 莲花县| 洛宁县| 靖远县| 靖远县| 梁平县| 盈江县| 宁晋县| 保靖县| 泾源县| 哈巴河县| 海安县| 信阳市| 隆林| 锦屏县| 高台县| 桃园县| 佳木斯市| 绥阳县| 大姚县| 清徐县| 蒙山县| 璧山县| 东阳市| 磐石市| 吉木萨尔县| 且末县| 永州市| 兰坪| 康马县| 三河市| 仙游县| 宁夏| 宾川县| 德化县| 罗山县| 都匀市| 治多县|