Дано масив цілих чисел, aякий містить n цілих чисел і одне ціле число x; видаліть найменшу кількість елементів, aщоб скласти суму, aрівну x. Якщо комбінації не aможуть скластись x, поверніть хибне значення.
Як зазначалося в коментарі, це максимальний набір із сумою х , вибачте мій менший математичний мозок. Я забув багато термінів ще з коледжу.
Приклади (Truthy):
f([1,2,3,4,5,6,7,8,9,10], 10) = [1,2,3,4]
f([2,2,2,2,2,2,2,2,2], 10) = [2,2,2,2,2]
f([2,2,2,2,-2,-2,-2,-4,-2], -8) = [2,2,-2,-2,-2,-4,-2]
f([-2,-4,-2], -6) = [-4,-2] OR [-2,-4]
f([2,2,2,4,2,-2,-2,-2,-4,-2], 0) = [2,2,2,4,2,-2,-2,-2,-4,-2] (Без змін)
f([], 0) = [] (Справа без змін нульової суми)
Приклади (Falsy, будь-яке послідовне значення без масиву):
Неможливо скласти справи: f([-2,4,6,-8], 3) = falsy (E.G. -1)
Нульова сума: f([], non-zero number) = falsy (E.G. -1)
- Примітка: будь-яке значення, подібне,
[-1]не може бути дійсним для помилкового, оскільки воно є потенційним результатом.
Правила:
- Введення може прийматися у формі масиву або як список аргументів, останній чи перший
x. - Вихідним може бути будь-який обмежений список цілих чисел. EG
1\n2\n3\nабо[1,2,3]. - Будь-яке значення може використовуватися як хибний показник, крім масиву цілих чисел.
- Ваш код повинен збільшити розмір кінцевого масиву, порядок не має значення.
- EG Для
f([3,2,3],5)обох[2,3]і[3,2]вони однаково справедливі. - EG Для
f([1,1,2],2)вас можна повернути тільки в[1,1]якості[2]коротше.
- EG Для
- І сума,
aі значенняxбуде меншою2^32-1та більшою за-2^32-1. - Це кодовий гольф , виграє найменший байт.
- Якщо є кілька подмассіви одного і того ж розміру , що справедливі, це НЕ прийнятно для виведення всіх з них. Ви повинні вибрати один і вивести його.
Повідомте мене, якщо це було розміщено, я не зміг його знайти.
Повідомлення, які я знайшов так : Пов'язані, але закриті , ...