【用最少数量的箭引爆气球】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/---])
相关推荐
凯瑟琳.奥古斯特几秒前
Django Flask FastAPI 三者对比
开发语言·python·django·flask·fastapi
godspeed_lucip几秒前
LLM和Agent——专题2: LLM as Judge 入门(2)
人工智能·python
智者知已应修善业几秒前
【51单片机一个按键切合初始流水灯按一下对半闪烁按一下显示时间】2023-10-16
c++·经验分享·笔记·算法·51单片机
晚风叙码2 分钟前
堆排序建堆策略对比:向上调整与向下调整的时间复杂度分析
算法
青春易逝丶5 分钟前
JAVA基础面试题
java·开发语言
Austindatabases8 分钟前
数据不准确,数据丢失,SQLite怎么保证计算不丢数--SQLite 五脏俱全系列 (5)
java·开发语言·数据库·sqlite
滑稽之神眷顾者9 分钟前
基于正倒排索引的文档搜索引擎测试报告
java·开发语言·功能测试
jiayong2310 分钟前
Python面试题集 - 数据结构与算法
开发语言·python
cui_ruicheng14 分钟前
Linux线程(四):线程池、日志系统与单例模式
linux·开发语言·单例模式
十年之少15 分钟前
使用VSCode 对PyQt5 say Hello—— Python + Qt 开发
vscode·python·qt