思路
- 这道题本来以为没什么问题的,但是,真正实现起来,还是感到有点乱。说下这道题的收获:
- ArrayList是有序的
- list中有add(pos, object)方法,就是在指定位置处插入元素
代码
public List<Interval> insert(List<Interval> intervals, Interval newInterval) {
List<Interval> list = new ArrayList<Interval>();
int pos = 0;
for (Interval itel : intervals) {
if (newInterval.start > itel.end) {
list.add(itel);
pos++;
}else if (itel.start > newInterval.end) {
list.add(itel);
}else {
newInterval.start = Math.min(itel.start, newInterval.start);
newInterval.end = Math.max(itel.end, newInterval.end);
}
}
list.add(pos, newInterval);
return list;
}
参考