Rozważyć szereg x
takich jak [1 5 3 4]
i numer n
, na przykład 2
. Napisz wszystkie wzdłużnych n
subarrays przesuwne: [1 5]
, [5 3]
, [3 4]
. Niech minimax tablicy zostanie zdefiniowany jako minimum maksimów przesuwnych bloków. Więc w tym przypadku byłoby to minimum 5, 5, 4
, które jest 4
.
Wyzwanie
Biorąc pod uwagę tablicę x
i dodatnią liczbę całkowitą n
, wyślij minimax jak zdefiniowano powyżej.
Tablica x
będzie zawierać tylko dodatnie liczby całkowite. n
zawsze będzie co najmniej 1
i co najwyżej długość x
.
Obliczenia można wykonać za pomocą dowolnej procedury, niekoniecznie jak zdefiniowano powyżej.
Code golf, najmniej bajtów wygrywa.
Przypadki testowe
x
, n
wynik
[1 5 3 4], 2 4
[1 2 3 4 5], 3 3
[1 1 1 1 5], 4 1
[5 42 3 23], 3 42
źródło
2 ⌈/ 1 2 3 4
oblicza maksima(1 2) (2 3) (3 4)
, więc zwraca2 3 4
.⌊
liczyć? 1 lub 2?⌊
i⌈
jako pojedynczy bajt każdego.CJam (11 bajtów)
Demo online
źródło
q~ew::e>:e<
, który również ma 11 bajtówRuby 39 bajtów
Gdzie x to tablica, a n to liczba, z której porcja jest dzielona.
źródło
each_cons
?Pyth, 10 bajtów
Wyjaśnienie:
Pobiera dane wejściowe w formularzu
list newline int
Wypróbuj tutaj!
Lub uruchom pakiet testowy!
Lub też 10 bajtów
Wyjaśnienie:
Pakiet testowy tutaj
źródło
Oracle SQL 11.2, 261 bajtów
Nie grał w golfa
źródło
MATL , 6 bajtów
Wypróbuj online!
źródło
Galaretka, 6 bajtów
Wypróbuj online!
Jak to działa
źródło
JavaScript (ES6),
848372 bajtyDziękujemy użytkownikowi 81655 za pomoc w goleniu 11 bajtów
źródło
(x,y,M=Math.max)=>-M(...x.slice(y-1).map((a,i)=>-M(...x.slice(i,i+y))))
Julia, 51 bajtów
Nic przełomowego. Jest to funkcja, która akceptuje tablicę i liczbę całkowitą i zwraca liczbę całkowitą. Po prostu używa podstawowego algorytmu. Byłoby o wiele krótszy, jeśli
min
imax
nie wymagają tablic splatting język argumentów.Otrzymujemy każdą nakładającą się podstronę, bierzemy maksimum i bierzemy min. Wyniku.
źródło
Perl 6 , 32 bajty
Stosowanie:
źródło
R,
4135 bajtówWymaga zainstalowania zoo.
edytuj - 6 bajtów przez uświadomienie sobie
zoo::rollmax
istnieje!źródło
J, 9 bajtów
Podobne do odpowiedzi APL.
>./\
stosuje>./
(maksymalnie) podzbiory (lewy arg) prawego arg. Następnie<./
znajduje minimum tego, ponieważ jest ograniczone[:
.Przypadki testowe
źródło
Python 3, 55 bajtów.
Przypadki testowe:
źródło
Python 2, 50 bajtów
Rekurencyjnie oblicza minimum dwie rzeczy: maksimum pierwszych
n
wpisów i funkcję rekurencyjną na liście z usuniętym pierwszym elementem. Dla podstawowego przypadku listy zawierającej mniej niżn
elementy podaje pustą listę, która służy jako nieskończoność, ponieważ Python 2 umieszcza listy jako większe niż liczby.źródło
JavaScript (ES6), 70 bajtów
Używając curry , funkcja ta oszczędza 2 bajty od poprzedniej odpowiedzi.
Próbny
źródło
Mathematica, 23 bajty
Przypadek testowy
źródło
Java 7,
128126124 bajtówKod niepoznany i testowy:
Wypróbuj tutaj.
Wynik:
źródło
Rakieta 84 bajtów
Nie golfowany:
Testowanie:
Wynik:
źródło
Clojure, 51 bajtów
źródło
SmileBASIC, 68 bajtów
Nic specjalnego. Wejściami są
X[]
iN
źródło