452. 用最少数量的箭引爆气球(贪心算法+思路+详解)07

一:题目

在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。

一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭的最小数量。

给你一个数组 points ,其中 points [i] = [xstart,xend] ,返回引爆所有气球所必须射出的最小弓箭数。

示例 1:

输入:points = [[10,16],[2,8],[1,6],[7,12]]
输出:2
解释:对于该样例,x = 6 可以射爆 [2,8],[1,6] 两个气球,以及 x = 11 射爆另外两个气球
示例 2:

输入:points = [[1,2],[3,4],[5,6],[7,8]]
输出:4
示例 3:

输入:points = [[1,2],[2,3],[3,4],[4,5]]
输出:2
示例 4:

输入:points = [[1,2]]
输出:1
示例 5:

输入:points = [[2,3],[2,3]]
输出:1

二:思路

思路:1.这里我们我们也是先按其右边界进行排序
(1,6),(2,8),(7,12),(10,16)
2.一旦其右边界小于下一个的左边界,那么接着往下一个找
直到找到一个左边界大于右边界的时候 弓箭数加一,更新右边界

三:上码:

class Solution {
public:static bool comp(vector<int>& a,vector<int>& b){return a[1] < b[1];}int findMinArrowShots(vector<vector<int>>& points) {/**思路:1.这里我们我们也是先按其右边界进行排序(1,6),(2,8),(7,12),(10,16)2.一旦其右边界小于下一个的左边界,那么接着往下一个找直到找到一个左边界大于右边界的时候 弓箭数加一,更新右边界  */int size = points.size();if(size == 0){return 0;}sort(points.begin(),points.end(),comp);int count = 1;//开始的时候需要一枝箭int temp = points[0][1];for(int i = 1; i < size; i++){if(temp < points[i][0]){//这里没有等号,因为只要沾着边 就可以用一枝箭temp = points[i][1];count++;}}return count;}
};

在这里插入图片描述
加油 BOY!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行为型设计模式总结

行为型设计模式总结Intro行为型模式是将不同的行为代码解耦&#xff0c;从而解决特定场景问题的一些经典结构。行为型设计模式主要解决的就是“类或对象之间的交互”问题。行为型设计模式比较多&#xff0c;有 11 个&#xff0c;几乎占了 23 种经典设计模式的一半。它们分别是&…

地理生物高考成绩查询2021,2021北京中考地理生物成绩查询时间【已公布】

中考地理和生物成绩查询是什么时候呢&#xff1f;尚不了解的考生看过来&#xff0c;下面由出国留学网小编为你精心准备了“2021北京中考地理生物成绩查询时间【已公布】”&#xff0c;持续关注本站将可以持续获取更多的考试资讯!2021北京中考地理生物成绩查询时间【已公布】北京…

10-1 5-1 查询销售便携式电脑但不销售PC的厂商 (20 分)(分析+详解)

一&#xff1a;题目 本题目要求编写SQL语句&#xff0c; 查询销售便携式电脑但不销售PC的厂商。 提示&#xff1a;请使用SELECT语句作答。 表结构: CREATE TABLE product ( maker CHAR(20) , --制造商model CHAR(20) NOT NULL, --产品型号type CHAR(20), …

在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入

MongoDB&#xff0c;被归类为NoSQL数据库&#xff08;其实我更觉得MongoDb是介于关系型数据库和非关系型数据库之间&#xff0c;此外&#xff0c;在我看来在很多场景中MongoDb都可以取代关系型数据库。&#xff09;&#xff0c;是一个以类JSON格式存储数据的面向文档的数据库系…

815 计算机专业基础综合,2018年华东理工大学信息科学与工程学院815计算机专业基础综合之计算机操作系统考研基础五套测试题...

一、选择题1&#xff0e; 在UNIX 系统中&#xff0c;目录结构采用( )。A. 单级目录结构B. 二级目录结构C. 单纯树形目录结构D. 带链接树形目录结构【答案】D2&#xff0e; 中断向量可提供( )。A. 被选中设备的地址B. 传送数据的起始地址C. 中断服务程序入口地址D. 主程序的断点…

10-2 5-2 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商 (20 分)(思路加详解+测试用例)

一&#xff1a;题目 本题目要求编写SQL语句&#xff0c; 查询至少生产两种不同型号的计算机(PC或便携式电脑)且机器速度至少为133的厂商&#xff0c;输出结果按照制造商升序排列。 提示&#xff1a; 本题有三种情况: &#xff08;1&#xff09; 至少生产两种不同PC的厂商 &a…

ASP.NET Core学习资源汇总

ASP.NET Core入门学习资源汇总篇幅比較長&#xff0c;分为七个部分。&#xff08;一&#xff09;认识.NET Core&#xff08;二&#xff09;Vistual Studio安装、调试&#xff08;三&#xff09;Asp.Net Core入门指南与学习路线&#xff08;四&#xff09;入门级实战项目手册、官…

用计算机探索 按一定规律排列,探索规律练习题1

探索规律练习题1、我们平常用的数是十进制数&#xff0c;如26392103610231019100&#xff0c;表示十进制的数要用10个数码(又叫数字)&#xff1a;0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9。在…

简单快速导出word文档

最近&#xff0c;我写公司项目word导出功能&#xff0c;应该只有2小时的工作量&#xff0c;却被硬生生的拉长2天&#xff0c;项目上线到业务正常运行也被拉长到2个星期。为什么如此浪费时间呢&#xff1f;1&#xff09;公司的项目比较老&#xff0c;采用硬编码模式&#xff0c;…

10-3 5-3 查询生产最高速度的计算机(PC或便携式电脑)厂商 (20 分)

一&#xff1a;上码 -- 查询生产最高速度的计算机(PC或便携式电脑)厂商&#xff0c;查询结果按照厂商升序排列-- 分析&#xff1a;1.从pc表和product表当中当中找到速度最快的 表1 -- 2.从laptop表和product表当中找到速度最快的 表2 -- 3.将表1和表2联合起来找速…

如何让多端口网站用一个nginx进行反向代理实际场景分析

前段时间公司要整合服务器资源&#xff0c;刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合&#xff0c;断断续续一个月迁移完成大概优化掉了1/3的机器&#xff0c;完成之后遇到了一些问题&#xff0c;比如曾今零零散散部署在生产上一些可视化UI&#xff1a;apollo&…

10-4 5-4 查询至少生产三种不同速度PC的厂商 (20 分)

一&#xff1a;上码 -- 查询至少生产三种不同速度PC的厂商-- 分析&#xff1a;1.联合pc和product表&#xff0c;字段为厂商和速度 表1 -- 2.按厂商名字进行分组统计厂商的个数&#xff0c;筛选条件为个数大于3的 表2 -- 3.将表2 做为子表筛选出 maker-- 1. -- selec…

【Azure Show】|第五期(下)当下最火热的Blazor与App Service, 嘉宾闫晓迪Alan Tsai...

欢迎来到Azure Show!Azure Show欢迎来到Azure Show第五期&#xff08;下&#xff09;&#xff0c;继上集分享彭爱华和阿法兔两位老师的跨界经验之后&#xff0c;本期我们【MVP面对面】栏目邀请到远在新西兰的微软最有价值专家闫晓迪和大家聊聊新西兰的技术生态&#xff0c;当然…

台式计算机听音乐,配置一台4000元的台式电脑,主要用于日常办公及上网查资料,听音乐,看电影及学习....

满意答案asshnjgs2014.04.02采纳率&#xff1a;44% 等级&#xff1a;9已帮助&#xff1a;861人CPU&#xff1a;Intel 赛扬D341 2.93G(散) CPU适用类型:台式CPU CPU内核:Prescott 主频(MHz):2930MHz 插槽类型:Socket 775 制作工艺(微米):0.09 微米 L2缓存(KB):256KB FSB(MHz)…

10-5 5-5 查询只卖三种不同型号PC的厂商 (20 分)

一&#xff1a;上码 -- 查询只卖三种不同型号PC的厂商-- 分析&#xff1a;1.首先 pc和product表联合 字段为厂商 -- 2.统计这些厂商的个数过滤掉型号小于3的厂商 表1 -- 3.然后laptop和product联合 表2&#xff0c;printer和product联合 字段均为厂商 表3 -- …

ASP.NET Core Blazor Webassembly 之 组件

关于组件现在前端几大轮子全面组件化。组件让我们可以对常用的功能进行封装&#xff0c;以便复用。组件这东西对于搞.NET的同学其实并不陌生&#xff0c;以前ASP.NET WebForm的用户控件其实也是一种组件。它封装html代码&#xff0c;封装业务逻辑&#xff0c;对外提供属性事件等…

122. 买卖股票的最佳时机 II008(贪心算法+思路)

一&#xff1a;题目 给定一个数组 prices &#xff0c;其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;。 注意&#xff1a;你不能同时参与多笔交易&#xf…

广东省计算机应用考试题,广东省计算机等级考试一级试题

广东省计算机等级考试一级试题一、理论部分 (共20分&#xff0c;每空1分)将正确答案填写在考试文件夹中“第一题答案.XLS”的Sheet1相应的位置上1. 解释程序的功能是 ( )。A解释执行高级语言源程序 B将高级语言源程序翻译成目标程序C解释执行汇编语言源程序 D将汇编语言源程序翻…

麒麟系统兼容安卓生态 弥补生态短板

日前&#xff0c;麒麟软件发布了银河麒麟操作系统最新版本V10。据媒体报道&#xff0c;麒麟软件是国内唯一一个通过CMMI5级质量评估的操作系统企业&#xff0c;在XC市场份额占有率达到70%以上。麒麟V10系统可以兼容安卓生态。集成了自研的UKUI桌面环境&#xff0c;支持多壁纸、…

夏门大学的计算机专业排第几,2019厦门大学专业排名

厦门大学由著名爱国华侨领袖陈嘉庚先生于1921年创办&#xff0c;是中国近代教育史上第一所华侨创办的大学&#xff0c;也是国家“211工程”和“985工程”重点建设的高水平大学。为了让大家更好的了解这所大学的专业排名&#xff0c;下面是学习啦小编给大家带来的厦门大学专业排…