【用最少数量的箭引爆气球】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/---])
相关推荐
乐于分享的阿乐7 小时前
Miniconda3 超详细安装配置教程(附安装包及学习资料)
python
z落落7 小时前
C# 数组属性和方法(Clear / Copy / IndexOf / LastIndexOf)
开发语言·javascript·c#
白露与泡影7 小时前
Java虚拟线程实战:从线程池痛点到性能优化全流程
java·开发语言·性能优化
IT空门:门主7 小时前
Java 单例模式详解:7 种实现方式 + volatile 原理 + 反射与序列化问题
java·开发语言·单例模式
gis分享者7 小时前
从原理到落地,Python 实现客户细分与销量预测
python·客户细分,销量预测,商业智能
Byte Wizard7 小时前
自定义类型:联合和枚举
c语言·开发语言
qingyulee7 小时前
线性回归、决策树
人工智能·算法·线性回归
Zhang~Ling8 小时前
C++ 继承机制详解下:多继承、虚继承与菱形继承底层原理
开发语言·c++·算法
西安邮电大学8 小时前
2026华为OD机考真题附答案-计算数列位置N的值
java·算法