【用最少数量的箭引爆气球】python刷题记录

R2-贪心篇.

求最小,那就尽可能地假设更多的气球y值不相同咯。

不对,气球除了y值我们随便摆,所以找尽可能多重叠的,就作为同一只箭。

python 复制代码
class Solution:
    def findMinArrowShots(self, points: List[List[int]]) -> int:
        #贪心策略:按右端点从小到大排序,尽量往右端射箭,如果在当前区间,就不用重复射箭
        points.sort(key=lambda x:x[1])
        cur=points[0][1]
        ret=1
        for a,b in points:
            #如果下一个左端大于本次右端,就需要多射一只箭
            if a>cur:
                ret+=1
                cur=b
        return ret

ps:

排序sort语法:

python 复制代码
 points.sort(key=lambda x:x[0/1/2/---])
相关推荐
易小尊9 分钟前
Dixon-Coles 的 τ 函数,我写错了三次
算法
伤心的梧桐叶11 分钟前
Picset与创客贴比等待时间,没做完的任务不能从表里消失
python
十年Java程序媛23 分钟前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
没有气的汽水28 分钟前
一次 SQS 消费者静默退出的排查:问题最后竟然出在日志里
python
用户4500301402330 分钟前
物业催缴系统为什么总在"冷却"这一步翻车:账期建模与规则命中的几个取舍
python
Web极客码38 分钟前
决策模型 + LLM:用 Python 拆解浏览器自动化工作流
java·python·自动化
yuniko-n42 分钟前
【JUC】内存屏障
java·开发语言
Linux运维技术栈1 小时前
近期 PHP 高危安全风险排查与多环境升级实操
开发语言·安全·php
fanruitian1 小时前
python 装饰器 闭包
python
凯瑟琳.奥古斯特1 小时前
力扣1015C++解法技巧
c++·算法·leetcode·链表·职场和发展