Leetcode 452. Minimum Number of Arrows to Burst Balloons
题目链接: Minimum Number of Arrows to Burst Balloons
难度:Medium
题目大意:
给出一些气球的活动区间,只要箭落在气球的活动区间内,气球就会被击中,求最少使用几支箭可以将所有的气球叽萝。
思路:
参考高赞答案,使用贪心思想,将气球的活动区间按照右值从小到大排列,射击位置选择气球活动区间的右值。遍历所有气球的活动区间,判断是否需要增加箭的数目。
代码
class Solution {
public int findMinArrowShots(int[][] points) {
if(points.length<1){
return 0;
}
Arrays.sort(points,(a,b)->Integer.compare(a[1],b[1]));
int count=1;
int shotPos=points[0][1];
for(int i=1;i<points.length;i++){
if(points[i][0]<=shotPos){
continue;
}
else{
count++;
shotPos=points[i][1];
}
}
return count;
}
}