Как вложить список на основе возрастающих последовательностей и игнорировать перекрывающиеся диапазоныPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как вложить список на основе возрастающих последовательностей и игнорировать перекрывающиеся диапазоны

Сообщение Гость »


Это мой вклад

мой список = [2, 7, 8, 11, 7, 9, 10, 15, 22, 30, 32] [*]от 2 до 11, оно увеличивается, поэтому нам нужно получить мин-макс [2, 11] [*]от 7 до 10 оно увеличивается, но нам нужно игнорировать это, потому что диапазон (от 7 до 10) включены в первый полученный список. [*]от 15 до 32, оно увеличивается, поэтому нам нужно ухватить минимум максимум: [15, 32] Окончательный список должен быть: [[2, 11], [15, 32]]

Я пробовал что-то вроде ниже, но это не так:

final = [] ми = мой список[0] ма = мой список[1] для i, j в zip(mylist, mylist[1:]): если я < j: ма = j Элиф я > j: ми = я продолжать элиф ми == ма: продолжать Final.append([ми, ма]) финальный [[1, 10], [1, 11], [1, 23], [23, 23], [23, 30], [23, 43], [23, 43], [23, 55]] обновление:

Позвольте мне добавить больше сценариев:
[*]для [5, 8, 10, 3, 4, 5, 7] мы должны получить [[5,10]], потому что даже если [ 3, 7] перекрывается с [5, 10], начало [3, 7] находится позади [5, 10]< /код> для [5, 8, 10, 8, 9, 12] мы должны получить [[5,12]], то есть [5,10] ] ∪ [8, 12], потому что [8, 12] перекрывается с [5, 10] справа (перед ним) для [1, 3, 5, 4, 3, 2, 1] мы должны получить [[1, 5]], потому что от 4 до 1 это убывающая последовательность, поэтому нам придется ее игнорировать.
Мне не обязательно нужен код Python. Мне просто нужен алгоритм или правильный способ решения этой проблемы.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»