dede医院网站模板下载,怎么更改公司网站域名,网页设计与制作教学大纲,毕业设计动漫网页设计解法一#xff1a;排序
我们用数组 merged 存储最终的答案。首先#xff0c;我们将列表中的区间按照左端点升序排序。然后我们将第一个区间加入 merged 数组中#xff0c;并按顺序依次考虑之后的每个区间#xff1a; 如果当前区间的左端点在数组 merged 中最后一个区间的右…解法一排序
我们用数组 merged 存储最终的答案。首先我们将列表中的区间按照左端点升序排序。然后我们将第一个区间加入 merged 数组中并按顺序依次考虑之后的每个区间 如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后那么它们不会重合我们可以直接将这个区间加入数组 merged 的末尾 否则它们重合我们需要用当前区间的右端点更新数组 merged 中最后一个区间的右端点将其置为二者的较大值。
class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals, new Comparatorint[](){public int compare(int[] int0, int[] int1){return int0[0]-int1[0];}});Listint[] list new ArrayList();for(int i0; iintervals.length; i){int Lintervals[i][0], Rintervals[i][1];if(list.size()0 || list.get(list.size()-1)[1] L){list.add(new int[]{L,R});}else{list.get(list.size()-1)[1] Math.max(list.get(list.size()-1)[1], R);}}return list.toArray(new int[list.size()][2]);}
}注意
List的长度用list.size()获得而不是list.length()匿名内部类compare输出0不变输出0变。使用list.toArray()list必须为ArrayList括号内部要有转换为的类型list.toArray(new int[list.size()][2])