Я не могу опираться на свое текущее решение, поскольку не уверен, что интервалы, которые могут перекрываться, будут соседними в отсортированная форма списка заданных интервалов. Неэффективным решением было бы перебирать каждую комбинацию пар в списке и, если они перекрываются, удалять их из списка и помещать их объединение в результат.
Можете ли вы помочь мне создать это? функционировать наиболее оптимальным образом?
Это классический подход к объединению интервалов: [code]def merge(intervals: List[List[int]]) -> List[List[int]]: result = [] intervals.sort() prev_interval = intervals[0]
for curr_interval in intervals[1:]: if prev_interval[1] >= curr_interval[0]: # Check if they overlap prev_interval = [prev_interval[0], max(curr_interval[1], prev_interval[1])] else: result.append(prev_interval) prev_interval = curr_interval
result.append(prev_interval) return result [/code] Я хотел бы изменить это решение, чтобы объединить интервалы, если «конец» любого интервала + 1 равен «началу» любого интервала в списке.[list] [*]Пример 1: интервалы = [[1,2], [3,4]] ==> [[1,4]] [*]Пример 2: интервалы = [[1,5], [6,9]] ==> [[1,9]] [*]Пример 3: интервалы = [ [1,5], [14, 17], [6,9], [10,13]] ==> [[1,17]] [*]Пример 4: интервалы = [[1,5], [14, 17], [6,9], [10,13], [4,7], [8,12]] ==> [[1,17], [4 ,12]] [/list] Я не могу опираться на свое текущее решение, поскольку не уверен, что интервалы, которые могут перекрываться, будут соседними в отсортированная форма списка заданных интервалов. Неэффективным решением было бы перебирать каждую комбинацию пар в списке и, если они перекрываются, удалять их из списка и помещать их объединение в результат. Можете ли вы помочь мне создать это? функционировать наиболее оптимальным образом?
Это классический подход к объединению интервалов:
def merge(intervals: List[List ]) -> List[List ]:
result = []
intervals.sort()
prev_interval = intervals
for curr_interval in intervals :
if prev_interval >= curr_interval : # Check if they...
Предположим, у меня есть ... p>
Если второе слово в каждом элементе списка совпадает с первым словом в любых других элементах списка, их следует объединить в один элемент. Порядок также имеет значение.
должен быть конечным продуктом.
Буквы не...
Я пишу код для Woocommerce, который будет автоматически объединять все заказы, поступающие от одного и того же клиента, пока мы не изменим статус. Единственная проблема, с которой я столкнулся, заключается в том, что позиции дублируются, когда...
У меня есть несколько кадров данных PySpark, которые необходимо объединить или объединить для создания окончательного кадра данных со следующей структурой:
Ввод:
df1 :
df2 :
df3 :