Odwróć delty tablicy
Kontynuacja odwrotnych delt tablicy
Twoim zadaniem jest pobranie tablicy 32-bitowych liczb całkowitych z rekompilacją z odwróconymi deltami.
Przykład
Lista,
18 19 17 20 16
ma delty:
1 -2 3 -4
który po odwróceniu daje:
-4 3 -2 1
następnie po ponownej kompilacji, używając zbiorów:
18 14 17 15 16
która powinna być twoją wartością zwrotu.
Ponowna kompilacja polega na przyjęciu C
, która jest pierwszą wartością tablicy. W takim przypadku 18
i zastosowanie do niego delt w kolejności. Tak 18 + -4
daje 14
, 14 + 3
daje 17
i tak dalej.
Wejście wyjście
Otrzymasz listę / tablicę / tabelę / krotkę / stos / itp. liczb całkowitych ze znakiem jako danych wejściowych dowolną standardową metodą wprowadzania.
Zmodyfikowane dane należy ponownie wyprowadzić w dowolnej akceptowalnej formie, zgodnie z powyższą metodą odwracania delta.
Otrzymasz N danych wejściowych, w 0 < N < 10
których każda liczba mieści się w zakresie-1000 < X < 1000
Przypadki testowe
1 2 3 4 5 -> 1 2 3 4 5
18 19 17 20 16 -> 18 14 17 15 16
5 9 1 3 8 7 8 -> 5 6 5 10 12 4 8
6 5 4 1 2 3 -> 6 7 8 5 4 3
Notatki
- Jak wspomniano powyżej, zawsze otrzymasz co najmniej 1 wkład, a nie więcej niż 9.
- Pierwsza i ostatnia liczba danych wyjściowych zawsze będzie zgodna z wartością wejściową.
- Akceptowane jest tylko standardowe wyjście wejściowe
- Obowiązują standardowe luki
- To jest golf golfowy , więc wygrywa najmniejsza liczba bajtów!
- Baw się dobrze!
A zwycięzcą jest...
Dennis! Kto najpierw zajął pierwsze miejsce, a potem pokonał się krótszym rozwiązaniem, zdobywając zarówno pierwsze, jak i drugie miejsce!
Wyróżnienie dla ais523 z galaretką, że gdyby nie Dennis, który znalazł się tuż przed nimi, zająłby drugie miejsce.
Odpowiedzi:
Galaretka , 5 bajtów
Ten wykorzystuje algorytm z Julią odpowiedź Glen O jest .
Wypróbuj online!
Jak to działa
źródło
Galaretka , 6 bajtów
Wypróbuj online!
Jak to działa
źródło
Ṛ
tam, gdzie jaU
). Nie wiem, czy to czyni je wystarczająco różnymi, aby nie brać pod uwagę duplikatów.U
wektoryzuje, podczas gdyṚ
nie, ale ich zachowanie dla płaskich tablic jest identyczne.Ḣ
jako 0x1e22 iṚ
0x1e5a, z których każdy wymaga 3 bajtów.Julia, 24 bajty
Jest to „sprytny” sposób rozwiązania problemu. Negatywne odwrócenie tablicy ma odwrócone „delty”, a następnie wystarczy naprawić fakt, że zaczyna się / kończy w niewłaściwych miejscach.
źródło
Snowman 1.0.2, 72 bajty
Wypróbuj online!
Jest to podprogram, który pobiera dane wejściowe i wyjściowe do bieżącego permawaru.
źródło
JavaScript (ES6),
4537 bajtówPort odpowiedzi Mathematica @ JHM. (Jestem pewien, że sam mogłem to wyprowadzić, ale nie o tej porze nocy). Edycja: Zapisałem 8 bajtów dzięki @ edc65.
źródło
[...
i]
?a
, który jest używany później w programiea=>a.reverse(z=a[0]).map(e=>z+a[0]-e)
z=a[0]
, ale zapomniałem usunąć[...]
i(,i,b)
.Mathematica, 23 bajty
Funkcja bez nazwy. Wynik jest po prostu: reverse ((pierwszy element) + (ostatni element) - (każdy element)).
źródło
Python 2,
96745444 bajtyDane wejściowe są podawane jako tablica otoczona nawiasami kwadratowymi. Dane wyjściowe są w tym samym formacie.
Dzięki @Kade za zaoszczędzenie
2242 bajtów przy użyciu znacznie prostszej metody niż cokolwiek wcześniej robiłem!Dzięki @ Sherlock9 za zaoszczędzenie 10 bajtów poprzez wyeliminowanie licznika indeksów ze zrozumienia listy!
Świetnie, teraz jeśli już będę grać w golfa, dostanę problem „44 przekreślone to wciąż 44”. ; _;
źródło
lambda l:[l[0]+l[-1]-l[i]for i in range(len(l))][::-1]
na 54 bajty? :) (Podziękowania dla Glen O. do obliczeń)l[i]for i in range(len(l))
możesz użyćj for j in l
do zapisania 14 bajtów.05AB1E , 8 bajtów
Wypróbuj online!
Tłumaczenie mojej odpowiedzi MATL, drugie podejście.
źródło
¬s¥Rvy)}
R,
3730 bajtówEdycja: Teraz wykorzystuję podejście z odpowiedzi Julii autorstwa Glen O.
Stary:
Odczytuje dane wejściowe, oblicza delty, łączy z pierwszym elementem i oblicza sumę skumulowaną.
źródło
MATL , 8 bajtów
Wypróbuj online!
Jest to bezpośrednie zastosowanie definicji. Rozważ dane wejściowe
[18 19 17 20 16]
jako przykład.Inne podejście, ta sama liczba bajtów:
Wypróbuj to wszystko!
Odwrócona i zanegowana tablica oraz pierwszy i ostatni zapis oryginalnej tablicy.
źródło
Japt, 8 bajtów
Uruchom to online
źródło
Pyth - 10 bajtów
Pakiet testowy .
źródło
아희 (Aheui) , 3 * 21 znaków + 2 "\ n" = 65 bajtów
Zakłada wejście w stos 아. Dane wyjściowe zostaną zapisane w stosie 안.
Jeśli chcesz wypróbować ten kod:
Na końcu pierwszego wiersza tego kodu dodaj
벙
liczbę znaków długości (n) razy (tzn. Jeśli wejście zawiera 7 liczb całkowitych, wstaw je 7 razy). Dla każdego monitu wpisz jedną liczbę całkowitą:Wypróbuj tutaj! (skopiuj i wklej kod)
Przykład
Dla
1, 2, 3, 4, 5
:i typ
1
,2
,3
,4
i5
(nie będzie 5 komunikaty).Alternatywna wersja (65 bajtów)
źródło
65 bytes in UTF-8
czy coś?C # 42 bajtów
Bierze
int[]
i zwraca anIEnumerable<int>
.(To jest właściwie tylko przeniesiona wersja wersji JHM ..)
źródło
TSQL, 200 bajtów
Zmienna tabelowa używana jako dane wejściowe
Wypróbuj to
źródło
PHP,
605652 bajtów-4 bajty dzięki @ user59178
działa na argumentach wiersza poleceń, używa podkreślnika jako separatora. Biegnij z
php -r '<code>' <space separated numbers>
źródło
$n
zmiennej kontrolnej? Wypróbowałem taką wersję, która była o 4 bajty krótsza i wydawało się, że działa.Perl 6 ,
48 3330 bajtówSpróbuj
Rozszerzony:
Jest
*-1
to również wyrażenie lambda typu WhokolwiekCode, gdzie*
jest jedynym parametrem pozycyjnym.źródło
[\+]
nad pierwszym przykładem, to zmniejsz trójkąt[\+] 3,-1,1,-5
→(3,2,3,-2)
i[\,] 3,-1,1,-5
→((3,), (3,-1), (3,-1,1), (3,-1,1,-5))
Julia 0.4 , 32 bajty
Wypróbuj online!
źródło
BASH, 71 bajtów
źródło
C ++ 14, 103 bajty
Jako bezimiennego lambda, wymagające jego wejścia, aby
rbegin
,rend
,back
ipush_back
podobne pojemnikivector
,deque
lublist
.Korzystając z podejścia z Julii Glen O, odpowiedz
Niegolfowane i użytkowanie:
źródło
Haskell, 33 bajty
Używa tej samej logiki co JHM:
Całkiem czytelny.
źródło
(!!0)
dohead
i korzystania(<$>)
zmap
: Spróbuj online!Wypukły , 10 bajtów
Wypróbuj online!
źródło
Clojure, 101 bajtów
Prawie podąża za opisem:
źródło
Java 7, 96 bajtów
Wyjaśnienie:
Kod testowy:
Wypróbuj tutaj.
Wydajność:
źródło
APL (Dyalog Unicode) , 11 bajtów SBCS
Anonimowa ukryta funkcja prefiksu.
Wypróbuj online!
+\
skumulowana suma⊃
pierwszy element argumentu,
a∘
następnie⌽
odwrócenie2-⍨/
różnica par⊢
argumentźródło