452. Minimum Number of Arrows to Burst Balloons (Medium)
/**
* 452. 用最少数量的箭引爆气球
*/
fun findMinArrowShots(points:Array<Array<Int>>):Int {
points.sortBy { it[1] } //排序
var size = points.size
if(size<2){
return size;
}
var prev = points[0][1] //第一个气球
var jian = 1; //第一个气球消耗一只箭
for (index in 0 until size){
if(prev<points[index][0]) {
prev = points[index][1]
jian++ //不在前一个气球大小的范围内, 箭支++ 移动坐标
}
}
return jian;
}
执行用时 :
504 ms,
内存消耗 :
57.3 MB
求更好的方法
本文介绍了一种解决LeetCode上452题用最少数量的箭引爆气球的高效算法实现。通过先对气球范围进行排序,然后使用贪心策略逐个判断气球是否能被已发射的箭矢击中,最终确定最少所需箭矢数量。此算法执行时间为504ms,内存消耗为57.3MB。
508

被折叠的 条评论
为什么被折叠?



