Проблема, вычисляющая диапазоны даты перекрытия

У меня есть проблема, пытающаяся разработать правильный алгоритм для расчета набора диапазонов даты.

В основном у меня есть список неупорядоченных диапазонов даты (список, содержащие массивы начала и времени окончания), и я хочу консолидировать этот список, чтобы он не содержит перекрытие.

В основном для укрепления двух диапазонов даты:

if start1 <= end2 and start2 <= end1 //Indicates overlap
   if start2 < start1 //put the smallest time in start1
      start1 = start2
   endif
   if end2 > end1 //put the highest time in end1
      end1 = end2
   endif
endif

это присоединяется к двум датам.

Я ударил камень блок, когда речь идет о итерации через все значения, поэтому список концов содержит только значения, которые не перекрывают.

Мое функциональное и рекурсивное программирование немного ржаво, и любая помощь будет приветствоваться.

7
задан emt14 19 September 2011 в 09:38
поделиться