美文网首页
2022-09-20 leetcode 1642 贪心算法用小

2022-09-20 leetcode 1642 贪心算法用小

作者: 木马音响积木 | 来源:发表于2022-09-20 07:40 被阅读0次
class Solution:
    def furthestBuilding(self, heights: List[int], bricks: int, ladders: int) -> int:
        #引入小顶堆,里面的值,就是用梯子过这些差距大的,小的,被挤出堆,用砖块过,累加这些砖块,多了,就是不行了。
        from heapq import heappushpop
        he=i=0
        hp =[0]*ladders  #初始化机器,不用判断堆的大小,但是当堆的size 很大时,吃亏
        for x,y in pairwise(heights):
            if x<y:
                w=y-x
            else:w=0
            if ladders:
                if w>hp[0]:
                    he+=hp[0]
                    if he > bricks:return i 
                    #这里先判断,及时退出,很重要。
                    heappushpop(hp,w) 
                else:
                    he+=w 
                    if he>bricks:return i 
            else:#没有梯子的情况
                he+=w 
                if he>bricks:return i 
            i+=1
        return i

相关文章

  • ARTS 20210104-0109

    Algorithm: 每周至少做一个 LeetCode 的算法题LeetCode 435 无重叠区间使用贪心算法解...

  • A-LeetCode-算法-总纲

    前言: 标签说明,A为困难,B为中等,C为简单 1、子目录纲要(算法) 1、A-LeetCode-算法-贪心算法[...

  • 贪心算法 03

    贪心算法 03 [https://imgchr.com/i/yt0vrQ] [https://leetcode-c...

  • 322. 零钱兑换【动态规划】【BFS】

    https://leetcode-cn.com/problems/coin-change/首先常见的贪心算法不合适...

  • 贪心算法

    介绍 介绍来自 LeetCode 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也...

  • 大厂算法面试之leetcode精讲4.贪心

    大厂算法面试之leetcode精讲4.贪心 视频教程(高效学习):点击学习[https://xiaochen102...

  • LeetCode进阶1029-贪心

    概要 上一篇博客《LeetCode进阶944-贪心》,有朋友提出建议944对理解贪心算法并不具有很强的代表性。回顾...

  • 贪心算法

    前面小编主要分享了使用到分治策略的经典排序算法,接下来小编要来分享下另外一个经典的算法,也就是贪心算法。贪心算法...

  • 452. 用最小的数量引爆气球(Python)

    题目 难度:★★☆☆☆类型:数组方法:贪心算法 力扣链接请移步本题传送门[https://leetcode-cn....

  • 991. 坏了的计算器(Python)

    难度:★★★☆☆类型:数学方法:贪心算法 题目 力扣链接请移步本题传送门[https://leetcode-cn....

网友评论

      本文标题:2022-09-20 leetcode 1642 贪心算法用小

      本文链接:https://www.haomeiwen.com/subject/kxdvortx.html