package cast_01;
import java.util.Arrays;
import java.util.Comparator;
public class T4 {
public static void main(String[] args) {
int[][] points = { { 10, 16 }, { 2, 8 }, { 1, 6 }, { 7, 12 } };
System.out.println(findMinArrowShots(points));
}
public static int findMinArrowShots(int[][] points) {
if (points.length == 0) {
return 0;
}
Arrays.sort(points, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if (o1[1] > o2[1]) {
return 1;
} else if (o1[1] < o2[1]) {
return -1;
} else {
return 0;
}
}
});
for (int[] arr : points) {
for (int x : arr) {
System.out.print(x + " ");
}
System.out.println();
}
int res = 1;
int pos = points[0][1];
for (int[] arr : points) {
if (arr[0] > pos) {
pos = arr[1];
res++;
}
}
return res;
/*
* int pos = points[0][1];
int res = 0;
for (int x = 0; x < points.length; x++) {
if (pos < points[x][0]) {
pos = points[x][0];
res++;
}
}
return res;
*/
}
}
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。
最新推荐文章于 2023-12-10 21:02:45 发布
