Wszyscy często słyszymy idiom „spacer po tablicy”, co oznacza „zamapuj funkcję na kolejnej tablicy”. Jednak muszę to zrobić (teraz!), Więc chcę, abyś przebiegł przez tablicę.
Jak mam biegać?
Wyobraź sobie, że to dziki paczka wilków za ciebie
Przebieganie przez tablicę jest jak przechodzenie przez jedną, tyle że można pominąć elementy. Tak, czasami jest bałagan, ale (ogólnie) działa. „Które elementy są pomijane?”, Możesz zapytać. Cóż, robi się to losowo. Przejdźmy przez przebieg tablicy!
- Niech
e
będzie bieżącym elementem. - Pozwól
random
wygenerować losowy pływak[0,1)
. Jeślirandom() < 0.5
, to przejdziesz do następnego elementu, a następnie do kroku 1. (Możesz wygenerować liczbę w inny sposób, o ile istnieje (idealnie) równa szansa na pominięcie i pozostanie. Np. Możesz użyć wybrać element z zestaw dwóch członków i wykonaj akcję w oparciu o wynik). - W przeciwnym razie wykonasz funkcję
f
nae
.
Cel
Biorąc pod uwagę tablicę / listę / ciąg znaków jak dowolny z nich A
i liczbę K
, przebiegnij przez tablicę, dodając K
do każdego dostępnego elementu. Wyjdź / zwróć tę tablicę. A
będzie zawierać tylko nieujemne liczby całkowite i K
zawsze będzie nieujemnymi liczbami całkowitymi. To jest golf golfowy , więc wygrywa najkrótszy program w bajtach.
Przypadki testowe (przykłady)
K, A => possible K'
[1, 2, 3, 4], 0 => [1, 2, 3, 4]
[1, 2, 3, 4], 1 => [1, 3, 3, 5]
[0, 0, 0, 0], 2 => [2, 0, 0, 2]
x
taką, że 0 ≤ x < 1
.
[0,1)
literówka?