给了一些区间,求最少的弓箭可以引爆所有气球,也就是求最少有多少个不重叠的区间,和区间调度非常像。只不过边界也算重叠。
为了保证不超过int的范围后points1-points2无法进行,所以直接改成比大小
class Solution {
public int findMinArrowShots(int[][] points) {
if(points.length==0)return 0;
Arrays.sort(points, new Comparator<int[]>() {
public int compare(int[] point1, int[] point2) {
if (point1[1] > point2[1]) {
return 1;
} else if (point1[1] < point2[1]) {
return -1;
} else {
return 0;
}
}
});
int end=points[0][1];
int res=1;
for(int i=1;i<points.length;i++){
int start=points[i][0];
if(start>end){
end=points[i][1];
res++;
}
}
return res;
}
}