Biorąc pod uwagę tablicę liczb całkowitych, aktóra zawiera n liczb całkowitych i jedną liczbę całkowitą x; usuń jak najmniej elementów z, aaby suma była arówna x. Jeśli żadna kombinacja nie amoże się utworzyć x, zwróć wartość fałszowania.
Jak wskazano w komentarzu, jest to maksymalny zestaw z sumą x , przepraszam za mój mniejszy mózg matematyczny. Zapomniałem wielu warunków od czasu college'u.
Przykłady (Prawda):
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] (Bez zmian)
f([], 0) = [] (Sprawa niezmienionej sumy zerowej)
Przykłady (Falsy, dowolna spójna wartość niebędąca tablicą):
Nie można zrobić sprawy: f([-2,4,6,-8], 3) = falsy (E.G. -1)
Przypadek zerowej sumy: f([], non-zero number) = falsy (E.G. -1)
- Uwaga: jakakolwiek wartość
[-1]nie może być poprawna w przypadku fałszowania, ponieważ jest to potencjalna prawda.
Zasady:
- Dane wejściowe mogą być pobierane w formie tablic lub jako lista argumentów, przy czym ostatnia lub pierwsza istota
x. - Wyjściem może być dowolna lista liczb całkowitych. EG
1\n2\n3\nlub[1,2,3]. - Każda wartość może być używana jako wskaźnik fałszowania, inna niż tablica liczb całkowitych.
- Twój kod musi maksymalizować rozmiar tablicy końcowej, kolejność nie ma znaczenia.
- EG Dla
f([3,2,3],5)obu[2,3]i[3,2]są jednakowo ważne. - EG Bo
f([1,1,2],2)możesz wrócić tylko[1,1]tak, jak[2]jest krótszy.
- EG Dla
- Zarówno suma, jak
ai wartośćxbędą mniejsze2^32-1i większe niż-2^32-1. - To jest golf golfowy , wygrana o najniższej liczbie bajtów.
- Jeśli istnieje wiele subarrays tej samej wielkości, które są ważne, jest to nie do zaakceptowania wyjściu wszystkich z nich. Musisz wybrać jeden i wyprowadzić go.
Daj mi znać, jeśli został opublikowany, nie mogłem go znaleźć.
Znalazłem takie posty : Powiązane, ale zamknięte , ...