leetcode56:Merge Intervals

大都是自定义了 Interval的比较方法。

突发奇想

int [] arr=new int[intervals.Count*2];
			for(int i=0;i<intervals.Count;i++)
			{
				arr[i*2]=intervals[i].start*10+1;
				arr[i*2+1]=intervals[i].end*10+2;
			}
			Array.Sort(arr);
			IList<Interval> list=new List<Interval>();
			
			int s=0;//int e=1;
			int count=0;
			for(int i=0;i<arr.Length;i++)
			{
				if(arr[i]%2==1) count++;
				else if(arr[i]%2==0) count--;
				if(count==0)
				{
					list.Add(new Interval(arr[s]/10,arr[i]/10));
					s=i+1;         
				}
			}
			return list;

  

posted @ 2015-08-12 12:03  darksied  阅读(163)  评论(0编辑  收藏  举报