题目链接: LeetCode 57 — Insert Interval
AC代码:
public class PRoblem57 { public static void main(String[] args) { List <Interval> list =new ArrayList<Interval>(); list.add(new Interval(0,2)); list.add(new Interval(3,9)); insert(list, new Interval(6,8)); } public static List<Interval> insert(List<Interval> intervals, Interval newInterval) { int p=0; if(intervals.size()==0){ intervals.add(newInterval); return intervals; } for(int i=0;i<intervals.size();i++){ if(intervals.get(i).start>=newInterval.start){ intervals.add(i, newInterval); if(i-1>=0) p=i-1; else p=i; break; } else{ if(i==intervals.size()-1){ intervals.add(newInterval); if(i-1>=0) p=i-1; else p=i; break; } else continue; } } int i=p; int num=0; while(true){ if(i+1>=intervals.size()) break; else{ if(intervals.get(i+1).start>intervals.get(i).end){ num++; if(num==2) return intervals; i++; } else if(intervals.get(i+1).start==intervals.get(i).end){ intervals.get(i).end=intervals.get(i+1).end; intervals.remove(i+1); num=0; continue; } else{ if(intervals.get(i+1).end>=intervals.get(i).end){ intervals.get(i).end=intervals.get(i+1).end; intervals.remove(i+1); num=0; continue; } else{ intervals.remove(i+1); num=0; } } } } return intervals; }}新闻热点
疑难解答