История изменений
Исправление x3al, (текущая версия) :
datetime.timedelta(seconds=1)
Строго на 1 секунду позже или ± секунду? Если строго, то пробегаешься по списку и делаешь ends = {x[end] + datetime.timedelta(seconds=1): x for x in your_list} плюс used_stuff = set(), потом для каждого элемента тупо проверяешь, есть он в used_stuff, если есть — скипаешь, если нет — ищешь в ends, нашёл — склеиваешь и добавляешь в used_stuff то, с чем склеил, не нашёл — возвращаешь как есть. O(nlogn) вроде как.
Исходная версия x3al, :
datetime.timedelta(seconds=1)
Строго на 1 секунду позже или ± секунду? Если строго, то пробегаешься по списку и делаешь ends = {x[end] + datetime.timedelta(seconds=1): x for x in your_list} плюс used_stuff = set(), потом для каждого элемента тупо проверяешь, есть он в used_stuff, если есть — скипаешь, если нет — ищешь в ends(), нашёл — склеиваешь и добавляешь в used_stuff то, с чем склеил, не нашёл — возвращаешь как есть. O(nlogn) вроде как.