官方代码答案:作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/insert-interval/solution/cha-ru-qu-jian-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
个人微改:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class InsertInterval {
public static void main(String args[]) {
int [][]intervals = new int[][] {{1,2},{3,5},{6,7},{8,10},{12,16}};
int newInterval[] = new int[] {4,8};
System.out.println(Arrays.deepToString(insert(intervals,newInterval)));
}
static int[][] insert(int[][] intervals, int[] newInterval){
List<int[]> list = new ArrayList<int[]>();
int left = newInterval[0];
int right = newInterval[1];
boolean flag = false;
for(int interval[] : intervals) {
if(right<interval[0]) {
if(!flag) {
list.add(new int[] {left,right});
flag=true;
}
list.add(interval);
}else if(left>interval[1]) {
list.add(interval);
}else {
left = Math.min(left,interval[0]);
right = Math.max(right,interval[1]);
}
}
if(!flag) {
list.add(new int[] {left,right});
}
int ans[][] = new int[list.size()][2];
for(int i=0;i<list.size();i++) {
ans[i]=list.get(i);
}
return ans;
}
}
测试结果:
[[1, 2], [3, 10], [12, 16]]

2109

被折叠的 条评论
为什么被折叠?



