当前位置: 首页 > news >正文

力扣452:用最少数量的箭射爆气球(排序+贪心)

452. 用最少数量的箭引爆气球 - 力扣(LeetCode)

从简单情况入手:如果只有两个区间,则只要这两个区间有公共部分,就只需用一只箭可以射穿。如果现在加入第三个区间,为了方便看是否有公共部分,可以先将其按照左端点大小排序。如果第三个区间的左端点比前两个区间的公共部分的右端点要小,那么不需要增加新的箭。反之就需要增加新的箭。前两个区间公共部分的右端点就是这两个区间右端点的最小值。

现在思路很清晰了。只需遍历每个区间,看这个区间的左端点比前面所有区间的公共部分的右端点(即最小右端点)大或者小即可。同时维护公共部分的右端点。

class Solution 
{
public:int findMinArrowShots(vector<vector<int>>& points) {if(points.size()==0) return 0;sort(points.begin(),points.end(),[](const vector<int>&a,const vector<int>&b){return a[0]<b[0];});//按照左端点排序int res=1;//至少需要1支箭for(int i=1;i<points.size();i++){if(points[i][0]>points[i-1][1])//如果区间左端点比前面的最小右端点要大,则需要新的箭{res++;}else{points[i][1]=min(points[i][1],points[i-1][1]);//否则,更新最小右端点}}return res;}
};

http://www.xdnf.cn/news/1385335.html

相关文章:

  • 如何编译和使用 tomcat-connectors-1.2.32 源码(连接 Apache 和 Tomcat)​附安装包下载
  • 数据质检之springboot通过yarn调用spark作业实现数据质量检测
  • Dify 1.8.0 全网首发,预告发布
  • 2024-06-13-debian12安装Mariadb-Galera-Cluster+Nginx+Keepalived高可用多主集群
  • 动态UI的秘诀:React中的条件渲染
  • 在PostgreSQL中使用分区技术
  • 【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?
  • Blender建模软件基本操作--学习笔记1
  • 查看docker容器内部的环境变量并向docker容器内部添加新的环境变量
  • 第十二节 Spring 注入集合
  • 微服务Eureka组件的介绍、安装、使用
  • 编程与数学 03-004 数据库系统概论 06_需求分析
  • CMake xcode编译器属性设置技巧
  • PDF转图片工具实现
  • R 语言 + 卒中 Meta 分析(续):机器学习 Meta 与结构方程 Meta 完整实现
  • 生成式 AI 的下一个风口:从 “生成内容” 到 “生成工具”,如何落地产业场景?
  • android 不同分辨图片放错对应文件夹会怎样?
  • RxGalleryFinal:全能Android图片视频选择器
  • PHP的header()函数分析
  • 数字孪生技术为UI前端赋能:实现产品性能的实时监测与预警
  • 神经科学启发下的自然语言处理:迈向深层语义理解的探索
  • 从2M到G时代:WiFi如何重塑我们的生活?
  • 高德三维地图航线航点弹出框zMarkerLayer点击事件
  • ArcGIS Pro 地图打包与解包
  • 研究人员发现VS Code漏洞:攻击者可重新发布同名已删除扩展
  • 深入理解会话状态管理:多轮对话与API最佳实践
  • STM32的RTC模块及其应用场景
  • 【项目思维】编程思维学习路线(推荐)
  • Golang 面试题「中级」
  • GPT-5 模型 API 中转对接技术精讲:高性价比集成方案与深度性能优化实践