Рассмотрим массив, x
например, [1 5 3 4]
и число n
, например 2
. Написать все длина- n
раздвижного подмассива: [1 5]
, [5 3]
, [3 4]
. Пусть минимакс массива определен как минимум максимумов скользящих блоков. Так что в этом случае это будет минимум 5, 5, 4
, который есть 4
.
Вызов
Учитывая массив x
и положительное целое число n
, выведите минимакс, как определено выше.
Массив x
будет содержать только положительные целые числа. n
всегда будет по крайней мере 1
и самое большее длина x
.
Вычисление может быть выполнено любой процедурой, не обязательно такой, как определено выше.
Код гольф, побеждает меньше байтов.
Контрольные примеры
x
, n
, Результат
[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
источник
2 ⌈/ 1 2 3 4
вычисляет максимумы(1 2) (2 3) (3 4)
, поэтому он возвращает2 3 4
.⌊
считать? 1 или 2?⌊
и⌈
в виде одного байта каждая.CJam (11 байт)
Онлайн демо
источник
q~ew::e>:e<
, которая также составляет 11 байтРубин 39 байт
Где x - это массив, а n - номер, по которому массив разбивается на части.
источник
each_cons
?Pyth, 10 байт
Объяснение:
Принимает вход в виде
list newline int
Попробуй это здесь!
Или запустить тестовый пакет!
Или также 10 байтов
Объяснение:
Тестовый пакет здесь
источник
Oracle SQL 11.2, 261 байт
Un-golfed
источник
MATL , 6 байтов
Попробуйте онлайн!
источник
Желе, 6 байт
Попробуйте онлайн!
Как это устроено
источник
JavaScript (ES6),
848372 байтаСпасибо user81655 за помощь сбрить 11 байтов
источник
(x,y,M=Math.max)=>-M(...x.slice(y-1).map((a,i)=>-M(...x.slice(i,i+y))))
Юлия, 51 байт
Ничего особенного. Это функция, которая принимает массив и целое число и возвращает целое число. Он просто использует основной алгоритм. Это было бы намного короче, если бы
min
иmax
не требовало разбивать массивы на аргументы.Мы получаем каждый перекрывающийся подмассив, берем максимум и берем минимум результата.
источник
Perl 6 , 32 байта
Использование:
источник
R,
4135 байтТребуется зоопарк для установки.
редактировать - 6 байт, понимая,
zoo::rollmax
существует!источник
J, 9 байт
Похоже на ответ APL.
>./\
применяет>./
(максимум) к (левому аргументу) -подмножествам правого аргумента. Затем<./
находит минимум этого, поскольку он ограничен[:
.Контрольные примеры
источник
Python 3, 55 байт.
Тестовые случаи:
источник
Python 2, 50 байт
Рекурсивно вычисляет минимум двух вещей: максимум первых
n
записей и рекурсивную функцию в списке с удаленным первым элементом. Для базового случая списка, имеющего меньшеn
элементов, выдается пустой список, который служит бесконечностью, поскольку Python 2 помещает списки как числа, превышающие числа.источник
JavaScript (ES6), 70 байт
Используя карри , эта функция сохраняет 2 байта из предыдущего ответа.
демонстрация
источник
Mathematica, 23 байта
Прецедент
источник
Java 7,
128126124 байтовUngolfed & тестовый код:
Попробуй это здесь.
Выход:
источник
Ракетка 84 байта
Ungolfed:
Тестирование:
Выход:
источник
Clojure, 51 байт
источник
SmileBASIC, 68 байт
Здесь нет ничего особенного. Входы
X[]
иN
источник