leetcode452_用最少的箭射气球(python)
题目:
对于每个气球,提供的输入是水平方向上,纵坐标不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。
一支弓箭可以沿着 x 轴从不同点完全垂直地射出。 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。
已知数组 points ,其中 points [i] = [xstart,xend] ,返回引爆所有气球所必须射出的最小弓箭数。
思路:
也是区间问题,与435相似,首先排序,以第一个区间的右边界作为对比,如果下一个区间的左边界比它小,则说明用一支箭可以射中两个区间,否则,两个区间是不重叠的,需要两支箭
class Solution(object):def findMinArrowShots(self, points):if not points:return 0nums = sorted(points, key=lambda x: x[1]) # 按照每一个区间的末尾进行排序print(nums)end = nums[0][1] # 第一个区间的末尾作为对比count = 1 # 至少需要一支箭for i in range(1,len(nums)):if nums[i][0]>end:#下一个区间的左侧小于等于当前区间的右侧,则这只箭可以穿过俩,count不加1,两区域#不重叠时+1count+=1end = nums[i][1]return count#解法2 和435一样
# for st,en in nums:
# if st > end:#后面区间的start是否大于前面区间的end
# count += 1
# end = en
# return count
#测试
m = Solution()
k = m.findMinArrowShots([[2,3],[7,15],[5,12],[4,5],[8,13],[9,16],[5,8],[8,16],[3,4],[8,17]])
print(k)
运行结果:
leetcode452_用最少的箭射气球(python)相关推荐
- 中等题 leetcode 452.用最少的箭射气球(贪心)
这里有leetcode题集分类整理!!! 解题思路: 排序 + 贪心 贪心思路: 按照右边界 排序 , 迭代时,左边界超过右边界时更新右边界. AC代码: class Solution {public ...
- 无重叠区间及用最少的箭射爆气球
无重叠区间及用最少的箭射爆气球 文章目录 无重叠区间及用最少的箭射爆气球 **一:开胃菜** **二.无重叠区间** **三.用最少的箭射爆气球** 一:开胃菜 在开始所无重叠区间前先做一道简单的提来 ...
- 贪心算法:区间调度-射气球问题
贪心算法:区间调度问题 母问题描述: 在一个会场中,安排活动,给定所有活动的开始时间与结束时间的集合放在数组nums[n][2]中.求问最多能安排几场活动,使每场活动之间的时间不冲突. public ...
- 射气球(今日头条笔试题)? 待解决
题目要求:二维空间上的一组气球,给出每个气球的起始和终止横坐标(保证其实横坐标小于终止横坐标),不考虑纵坐标.因此气球之间可能存在重叠 一支箭可选定一个横坐标纵向射击. 假设一个气球的横向两端坐标分别 ...
- 2572: 红球还是黑球 python
2572: 红球还是黑球: 一个盒子中有n个红球和m个黑球,n+m>=1,现在规定随机拿出两个球(拿出后不放回盒子中), 如果是一红一黑,则向盒子中放入一个黑球:其他情况向盒子中放入一个红球. ...
- 李兴球python创意编程视频云盘_A36_Python滚动的字幕_教学视频
A36_Python滚动的字幕_教学视频 这是风火轮编程Python初级教程的第36课. 下面是用Python制作的滚动的字幕运行结果: python滚动的字幕动画原理视频教程 这是一节案例课,讲述一 ...
- 力扣452 用最少的箭引爆气球(个人感悟向,非完整代码)
这个题是在有了贪心算法的预设下做的,没做出来, 去看了两种题解,官方的和评论区大佬的. 在此之前我已知道一点点如果利用排序或其他方法先对数据进行预处理的话会使题目变得简单,但是这个题我不知道如何排序, ...
- 华为od统一考试B卷【最少面试官数】Python 实现
所有题目均有五种语言实现.C语言实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 某公司组织一场公开招聘活动,假设由于人数和场地的限制,每 ...
- 郑轻校赛 2127 tmk射气球 (数学)
Description 有一天TMK在做一个飞艇环游世界,突然他发现有一个气球匀速沿直线飘过,tmk想起了他飞艇上有一把弓,他打算拿弓去射气球,为了提高射击的准确性,他首先在飞艇上找到一个离气球最近的 ...
最新文章
- 比尔盖茨是这样审查项目的 2
- 学习jvm(一)--java内存区域
- String类型数组 根据首字母排序
- 802.11协议精读5:隐藏终端和暴露终端
- ArrayList笔记
- Hi3516A开发--mpp业务分析
- iOS逆向之深入解析App签名的双向验证机制和原理
- Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。
- [推荐]大量 Blazor 学习资源(二)
- python 文字处理系统_详解Python中的文本处理
- matlab2c使用c++实现matlab函数系列教程-factorial函数
- apache 伪静态转到nginx
- 编解码格式 -- H264
- 西南大学计算机考研学硕,西南大学心理学学硕343分考研经验
- 谷歌浏览器应用翻译插件,
- DxDiag中字段结构
- 【Unity破事水】如何实现线上试卷选择题的选项
- 苏世民:顶尖领导者的52条法则
- etal斜体吗 参考文献_参考文献方面毕业论文格式模板,与文下载****北京化工大学学报相关论文下载...
- 联邦滤波matlab程序,联邦滤波器仿真