Wyzwanie:
Wkład:
Posortowana lista dodatnich liczb całkowitych.
Wynik:
Liczba liczb całkowitych, które wciąż mają dokładnie ten sam indeks, po obróceniu cyfr w każdej liczbie całkowitej jej indeks razy w lewo i ponownym posortowaniu zmodyfikowanej listy.
Przykład:
Dane wejściowe: Dane [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
wyjściowe (indeksowanie 0): Dane 6
wyjściowe (indeksowanie 1):5
Dlaczego?
Indeksowanie na podstawie 0:
After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471]
Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Input indices: 0 1 2 3 4 5 6 7 8 9 10 11
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Modified indices: 0 2 1 3 5 4 7 6 8 9 10 11
Equal indices: ^ ^ ^ ^ ^ ^
So the output is: 6
Indeksowanie na podstawie 1:
After rotating each: [8,49,37,021,925,762,2278,3383,2179,37846,94878,8874717]
Sorted again: [8,(0)21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Input indices: 1 2 3 4 5 6 7 8 9 10 11 12
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Modified indices: 1 4 3 2 6 5 9 7 8 10 11 12
Equal indices: ^ ^ ^ ^ ^
So the output is: 5
Zasady konkursu:
- Lista wejściowa z pewnością zawiera wyłącznie dodatnie liczby całkowite.
- Lista wejściowa gwarantuje posortowanie od najniższej do najwyższej.
- Lista wejściowa z pewnością zawiera co najmniej dwa elementy.
- Jak widać powyżej, zarówno indeksowanie oparte na 0, jak i oparte na 1 jest dozwolone. Podaj w swojej odpowiedzi, którego z dwóch użyłeś, ponieważ wyniki mogą się odpowiednio różnić!
- Wiodące
0
s po obracaniu są ignorowane, co można zobaczyć na powyższym przykładzie opartym na 1, gdzie liczba całkowita102
staje się021
po obracaniu, a następnie jest traktowana jako21
. - Liczby całkowite są gwarantowane jako unikalne na liście wejść i gwarantują, że pozostaną unikalne po zakończeniu rotacji.
- Zauważ, że patrzymy tylko na pozycje obróconych liczb całkowitych w korelacji z pozycjami wejścia, a nie z wartościami listy wejść. Aby wyjaśnić, co mam na myśli przez to: dzięki liście danych wejściowych
[1234,3412]
i indeksowaniu opartemu na 1, lista staje się[2341,1234]
po obróceniu każdej liczby całkowitej liczbę indeksów razy, a następnie po sortowaniu[1234,2341]
. Chociaż zarówno oryginalna lista wejściowa, jak i lista obrócona zawiera liczbę całkowitą1234
w pozycji wiodącej, nie są one takie same! Obrócony1234
był3412
wcześniej. Dlatego indeksowane wyjście 1 dla tej listy wejściowej jest0
, ponieważ dwie liczby całkowite zamieniły swoje pozycje. - Dane wejściowe są elastyczne. Może być listą / strumieniem / tablicą liczb całkowitych / ciągów znaków / tablic cyfrowych itp. Podaj, czego użyłeś, jeśli nie przyjmujesz danych wejściowych jako liczb całkowitych.
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły z domyślnymi regułami We / Wy , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i typem zwracanych, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem kodu (tj. TIO ).
- Zalecane jest również dodanie wyjaśnienia do odpowiedzi.
Przypadki testowe:
Input: [8, 49, 73, 102, 259, 762, 2782, 3383, 9217, 37846, 89487, 7471788]
0-based output: 6
1-based output: 5
Input: [1234, 3412]
0-based output: 2
1-based output: 0
Input: [2349, 2820, 17499, 21244, 29842, 31857, 46645, 56675, 61643, 61787]
0-based output: 3
1-based output: 0
Input: [4976, 11087, 18732, 22643, 52735]
0-based output: 2
1-based output: 3
Input: [4414, 5866, 7175, 8929, 14048, 16228, 16809, 19166, 24408, 25220, 29333, 44274, 47275, 47518, 53355]
0-based output: 4
1-based output: 4
Input: [11205, 16820, 63494]
0-based output: 1
1-based output: 3
Generuj więcej losowych przypadków testowych za pomocą (lub czerpiąc inspirację) z tego nieoznakowanego programu 05AB1E , w którym dane wejściowe są wielkości losowej listy (UWAGA: dane wyjściowe tego generatora mogą być niezgodne z regułą: „ Liczby całkowite są gwarantowane unikalne w listę wejściową i gwarantuje się, że pozostaną unikalne po zakończeniu rotacji ”, więc należy o tym pamiętać podczas korzystania z niej).