admin 管理员组

文章数量: 1087652

在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。

题目

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[]>() {@Overridepublic 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;*/}
}

本文标签: 在二维空间中有许多球形的气球对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了开始坐标总是小于结束坐标