Considere una matriz x
como [1 5 3 4]
y un número n
, por ejemplo 2
. Escribir todos de talla n
subarreglos correderas: [1 5]
, [5 3]
, [3 4]
. Deje que el minimax de la matriz se define como el mínimo de los máximos de los bloques de deslizamiento. Entonces, en este caso, sería el mínimo de 5, 5, 4
, que es 4
.
Desafío
Dada una matriz x
y un entero positivo n
, genera el minimax como se definió anteriormente.
La matriz x
solo contendrá enteros positivos. n
siempre será al menos 1
y como mucho la longitud de x
.
El cálculo puede realizarse por cualquier procedimiento, no necesariamente como se definió anteriormente.
Código de golf, menos bytes gana.
Casos de prueba
x
, n
, Resultará
[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
fuente
2 ⌈/ 1 2 3 4
calcula los máximos de(1 2) (2 3) (3 4)
, por lo que regresa2 3 4
.⌊
contar? ¿1 o 2?⌊
y⌈
como un solo byte cada uno.CJam (11 bytes)
Demostración en línea
fuente
q~ew::e>:e<
, que también tiene 11 bytesRuby 39 bytes
Donde x es la matriz yn es el número por el cual se divide la matriz.
fuente
each_cons
?Pyth, 10 bytes
Explicación:
Toma entrada en el formulario
list newline int
Pruébalo aquí!
¡O ejecuta una suite de prueba!
O también 10 bytes
Explicación:
Test Suite aquí
fuente
Oracle SQL 11.2, 261 bytes
Sin golf
fuente
MATL , 6 bytes
Pruébalo en línea!
fuente
Jalea, 6 bytes
Pruébalo en línea!
Cómo funciona
fuente
JavaScript (ES6),
848372 bytesGracias a user81655 por ayudar a reducir 11 bytes
fuente
(x,y,M=Math.max)=>-M(...x.slice(y-1).map((a,i)=>-M(...x.slice(i,i+y))))
Julia, 51 bytes
Nada demasiado innovador. Esta es una función que acepta una matriz y un entero y devuelve un entero. Solo usa el algoritmo básico. Sería mucho más corto si
min
ymax
no requería matrices Splatting en argumentos.Obtenemos cada submatriz superpuesta, tomamos el máximo y tomamos el mínimo del resultado.
fuente
Perl 6 , 32 bytes
Uso:
fuente
R,
4135 bytesRequiere que se instale el zoológico.
editar - ¡6 bytes al darse cuenta de que
zoo::rollmax
existe!fuente
J, 9 bytes
Similar a la respuesta APL.
>./\
se aplica>./
(máximo) a los subconjuntos (argumento izquierdo) del argumento derecho. Luego,<./
encuentra el mínimo de eso, ya que está limitado con[:
.Casos de prueba
fuente
Python 3, 55 bytes.
Casos de prueba:
fuente
Python 2, 50 bytes
Calcula recursivamente el mínimo de dos cosas: el máximo de las primeras
n
entradas y la función recursiva en la lista con el primer elemento eliminado. Para un caso base de la lista que tiene menos den
elementos, da la lista vacía, que sirve como infinito porque Python 2 pone las listas como mayores que los números.fuente
JavaScript (ES6), 70 bytes
Al usar curry , esta función ahorra 2 bytes de la respuesta anterior.
Manifestación
fuente
Mathematica, 23 bytes
Caso de prueba
fuente
Java 7,
128126124 bytesUngolfed y código de prueba:
Pruébalo aquí
Salida:
fuente
Raqueta 84 bytes
Sin golf:
Pruebas:
Salida:
fuente
Clojure, 51 bytes
fuente
SmileBASIC, 68 bytes
Nada especial aquí. Las entradas son
X[]
yN
fuente