Форум сайта python.su
Написать функцию change(arr,n,q), которая получает список уникальных положительных целых чисел
и два дополнительных положительных целых числа и возвращает переставленный список.
Переставить arr надо так, чтобы сумма любых n последовательных значений не превышала q.
Пример:
change((3,5,7,1,6,8,2,4),3,13)) ==> (4,7,1,5,6,2,3,8) –> 4+7+1<=13, 7+1+5<=13, 1+5+6<=13, …
Не понимаю как это реализовать
Офлайн
25$
Офлайн
kek4okВозьми все перестановки входного массива и подбери из них первую подходящую под критерий.
Не понимаю как это реализовать
>>> import itertools >>> >>> list(itertools.permutations((1, 2, 3))) [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] >>>
Офлайн