Python - логически условия за задаване на интервали
sorted_datalines = [-640, -547, -414, -313, -182, -181, 441, 622, 679, 782, 889]
Привет,
Решавам малко по-сложна за мен задачка свързана с интервали, не давам моето решение защото то не работи в случаите когато един интервал съдържа две или повече цифри - накратко сортиран лист с положителни и отрицателни integers. Идеята е да се мине през всеки и да отвари интервал, съответно затваря интервала когато не открие поредност и преминава на следващия. Корекния output трябва да бъде:
[-640, -640], [-547, -547], [-414, -414], [-313, -313], [-182, -181], [441, 441], [622, 622], [782, 782], [889, 889]
Пробвах дирекно с loop да насипя резултатите в матрица и работи до момента в който стигне до -182 където дава като интервали:
...[-182, -182], [-182, -181]...
Не съм си избистрил логиката как да задам логическите ограничения, но понеже е сортиран лист би трябвало да се следи за наличие на поредност в предходната цифра. Също май не трябва ползвам матрица преди да знам къде започва и свършват интервалите. Малко зациклих, предложения?
Пример: For the input:
123
567
124
568
-100
-99
The output should be:
[-100, -99] with consecutive count of 2
[123, 124] with consecutive count of 2
[567, 568] with consecutive count of 2
Аз добавих -182 за да се уверя, че работи. Мерси!