【用最少数量的箭引爆气球】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/---])
相关推荐
码云数智-大飞14 小时前
分布式数据库:2026年数据架构的基石与挑战
开发语言
查古穆14 小时前
python进阶-推导式
开发语言·python
njidf14 小时前
C++中的访问者模式
开发语言·c++·算法
☆56614 小时前
如何为开源Python项目做贡献?
jvm·数据库·python
英俊潇洒美少年14 小时前
js 同步异步,宏任务微任务的关系
开发语言·javascript·ecmascript
C_Si沉思14 小时前
C++中的工厂模式变体
开发语言·c++·算法
m0_5603964714 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
SEO-狼术14 小时前
Improve Navigation with In-Cell Hyperlinks
python·pdf
2301_8166512214 小时前
用Python监控系统日志并发送警报
jvm·数据库·python