Zainspirowany pytaniem w Stack Overflow. Tytuł tutaj jest całkowicie moją winą.
Wyzwanie
Biorąc pod uwagę listę dodatnich liczb całkowitych zawierających co najmniej dwa wpisy, zamień każdą liczbę na minimum wszystkich wpisów oprócz samego siebie.
Przypadki testowe
[4 3 2 5] -> [2 2 3 2]
[4 2 2 5] -> [2 2 2 2]
[6 3 5 5 8] -> [3 5 3 3 3]
[7 1] -> [1 7]
[9 9] -> [9 9]
[9 8 9] -> [8 9 8]
Zasady
Algorytm powinien teoretycznie działać dla dowolnego rozmiaru wejściowego (większego niż jeden) i wartości (dodatnie liczby całkowite). Jest to akceptowane, jeśli program jest ograniczony czasem, pamięcią lub typami danych i dlatego działa tylko dla liczb do określonej wartości lub dla wielkości wejściowej do określonej wartości.
Programy lub funkcje są dozwolone w dowolnym języku programowania . Standardowe luki są zabronione.
Dane wejściowe można przyjmować dowolnymi rozsądnymi środkami ; i w dowolnym formacie. To samo dla wyniku. Formaty wejściowe i wyjściowe mogą być różne.
Najkrótszy kod w bajtach wygrywa.
[4 3 2 2 5]
wynik byłby [2 2 2 2 2]
(podobny do drugiego przypadku testowego)
[4 3 2 2 5]
wynikać?