【用最少数量的箭引爆气球】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/---])
相关推荐
承渊政道11 小时前
【优选算法】(实战体会位运算的逻辑思维)
数据结构·c++·笔记·学习·算法·leetcode·visual studio
YMWM_11 小时前
print(f“{s!r}“)解释
开发语言·r语言
愤豆11 小时前
05-Java语言核心-语法特性--模块化系统详解
java·开发语言·python
bksczm11 小时前
文件流(fstream)
java·开发语言
NGC_661111 小时前
Java 线程池阻塞队列与拒绝策略
java·开发语言
Frostnova丶11 小时前
LeetCode 2573. 找出对应 LCP 矩阵的字符串
算法·leetcode·矩阵
AI-Ming11 小时前
程序员转行学习 AI 大模型: 踩坑记录:服务器内存不够,程序被killed
服务器·人工智能·python·gpt·深度学习·学习·agi
小碗羊肉11 小时前
【从零开始学Java | 第二十二篇】List集合
java·开发语言
m0_7167652311 小时前
C++提高编程--STL常用容器(set/multiset、map/multimap容器)详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
承渊政道11 小时前
【优选算法】(实战推演模拟算法的蕴含深意)
数据结构·c++·笔记·学习·算法·leetcode·排序算法