【用最少数量的箭引爆气球】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/---])
相关推荐
阿正的梦工坊13 小时前
【Rust】07-错误处理:Option、Result 与 ? 运算符
开发语言·算法·rust
烬羽13 小时前
从零理解树与二叉树:用 JS 带你手撕遍历和递归
javascript·数据结构
Zella折耳根13 小时前
复习篇-继承和接口
java·开发语言·python
z落落13 小时前
C# 事件(Event)+自定义带参数事件例子
开发语言·分布式·c#
FlYFlOWERANDLEAF13 小时前
DevExpress Office File API使用记录
开发语言·c#·devoffice
诗词在线13 小时前
求推荐飞花令
大数据·人工智能·python
程序员二叉13 小时前
【JVM】OOM详解+JVM参数+FullGC排查+CPU飙高+死锁+内存泄漏+命令大全
java·开发语言·jvm·面试
YHL13 小时前
🚀从零理解树与二叉树 —— 概念、实现与遍历
前端·javascript·数据结构
yijianace13 小时前
Python线程与多线程完全总结(从入门到理解并发本质)
开发语言·python
不知名的老吴13 小时前
线程的生命周期之线程同步
java·开发语言·jvm