【用最少数量的箭引爆气球】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/---])
相关推荐
2301_7765087219 小时前
分布式系统监控工具
开发语言·c++·算法
Irissgwe19 小时前
Linux进程信号
linux·服务器·开发语言·c++·linux进程信号
暮冬-  Gentle°19 小时前
C++与区块链智能合约
开发语言·c++·算法
JobDocLS19 小时前
Bash调试方法
开发语言·bash
愣头不青19 小时前
78.子集
数据结构·算法
Oueii19 小时前
C++中的代理模式实现
开发语言·c++·算法
艾莉丝努力练剑19 小时前
【Linux:文件 + 进程】理解IPC通信
linux·运维·服务器·开发语言·网络·c++·ide
3DVisionary19 小时前
从微观损伤到宏观断裂:DIC非接触测量在复合材料可靠性验证中的前沿实践
人工智能·数码相机·算法·机器学习·3d·复合材料·dic技术
洋不写bug19 小时前
Java线程(二):线程特点、状态、终止开始控制(
java·开发语言
ZTLJQ19 小时前
挖掘金矿:Python数据解析库完全解析
开发语言·python