Betrachten wir eine Anordnung , x
wie beispielsweise [1 5 3 4]
und eine Anzahl n
, beispielsweise 2
. Schreiben Sie alle längs- n
Schiebe Subarrays: [1 5]
, [5 3]
, [3 4]
. Die Minimax des Arrays sei definiert als das Minimum der Maxima der Gleitblöcke. Also in diesem Fall wäre es das Minimum von 5, 5, 4
, was ist 4
.
Herausforderung
Geben Sie bei einem Array x
und einer positiven Ganzzahl n
die oben definierte Minimax aus.
Das Array x
enthält nur positive ganze Zahlen. n
wird immer mindestens 1
und höchstens die Länge von x
.
Die Berechnung kann durch ein beliebiges Verfahren erfolgen, das nicht unbedingt wie oben definiert ist.
Code Golf, gewinnt die wenigsten Bytes.
Testfälle
x
, n
Ergeben sich
[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
quelle
2 ⌈/ 1 2 3 4
Berechnet zum Beispiel das Maximum von(1 2) (2 3) (3 4)
und gibt es zurück2 3 4
.⌊
gezählt werden? 1 oder 2?⌊
und⌈
als ein einziges Byte jeder.CJam (11 Bytes)
Online-Demo
quelle
q~ew::e>:e<
, was auch 11 Bytes sindRuby 39 Bytes
Dabei ist x das Array und n die Zahl, nach der das Array aufgeteilt werden soll.
quelle
each_cons
?Pyth, 10 Bytes
Erläuterung:
Nimmt Eingaben in das Formular auf
list newline int
Probieren Sie es hier aus!
Oder führen Sie eine Testsuite aus!
Oder auch 10 Bytes
Erläuterung:
Test Suite hier
quelle
Oracle SQL 11.2, 261 Byte
Nicht golfen
quelle
MATL , 6 Bytes
Probieren Sie es online!
quelle
Gelee, 6 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
JavaScript (ES6),
848372 ByteVielen Dank an user81655 für die Hilfe bei der Reduzierung von 11 Bytes
quelle
(x,y,M=Math.max)=>-M(...x.slice(y-1).map((a,i)=>-M(...x.slice(i,i+y))))
Julia, 51 Bytes
Nichts zu bahnbrechend. Dies ist eine Funktion, die ein Array und eine Ganzzahl akzeptiert und eine Ganzzahl zurückgibt. Es wird nur der grundlegende Algorithmus verwendet. Es wäre viel kürzer, wenn
min
undmax
nicht splatting Arrays in Argumente erforderlich ist.Wir erhalten jedes überlappende Subarray, nehmen das Maximum und das Minimum des Ergebnisses.
quelle
Perl 6 , 32 Bytes
Verwendung:
quelle
R
4135 BytesErfordert die Installation des Zoos.
bearbeiten - 6 Bytes durch Realisieren
zoo::rollmax
vorhanden!quelle
J 9 Bytes
Ähnlich wie bei der APL-Antwort.
>./\
gilt>./
(maximal) für die (left arg) -Untergruppen des rechten Arg. Dann<./
findet man das Minimum davon, da es mit einer Kappe versehen ist[:
.Testfälle
quelle
Python 3, 55 Bytes.
Testfälle:
quelle
Python 2, 50 Bytes
Berechnet rekursiv das Minimum von zwei Dingen: das Maximum der ersten
n
Einträge und die rekursive Funktion in der Liste, bei der das erste Element entfernt wurde. Gibt für einen Basisfall der Liste mit weniger alsn
Elementen die leere Liste an, die als unendlich dient, da Python 2 Listen als größer als Zahlen einfügt.quelle
JavaScript (ES6), 70 Byte
Bei Verwendung von currying werden mit dieser Funktion 2 Bytes der vorherigen Antwort eingespart.
Demo
quelle
Mathematica, 23 Bytes
Testfall
quelle
Java 7,
128126124 BytesUngolfed & Testcode:
Probieren Sie es hier aus.
Ausgabe:
quelle
Schläger 84 Bytes
Ungolfed:
Testen:
Ausgabe:
quelle
Clojure, 51 Bytes
quelle
SmileBASIC, 68 Bytes
Nichts besonderes hier. Eingänge sind
X[]
undN
quelle