Матрица оптимальной (для довольно узкой рамки данной задачи) получаются «сжать» элементы из соответствующих строк и столбцов квадратной матрицы и получать максимум из каждой пары.
Например, с учетом следующей матрицы:
4 5 6
1 7 2
7 3 0
Вы можете комбинировать его с транспонированной получить: [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Если вы пронестись каждую пару списков, вы получите следующее: [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. Последний шаг - получить максимум каждой пары, чтобы получить оптимальную матрицу:
4 5 7
5 7 3
7 3 0
Ваша задача - вывести оптимальную матрицу квадратной матрицы, заданную в качестве входных данных. Матрица будет содержать только целые числа. Ввод / вывод может быть выполнен в любом разумном формате. Самый короткий код в байтах (либо в UTF-8, либо в пользовательской кодировке языка) выигрывает!
тесты
[[172,29], [29,0]] -> [[172,29], [29,0]] [[4,5,6], [1,7,2], [7,3,0]] -> [[4,5,7], [5,7,3], [7,3,0 ]] [[1,2,3], [1,2,3], [1,2,3]] -> [[1,2,3], [2,2,3], [3,3,3 ]] [[4,5, -6], [0,8, -12], [- 2,2,4]] -> [[4,5, -2], [5,8,2], [- 2,2,4]]
источник
[1,2,3,4]
вместо[[1,2],[3,4]]
? Сохранить бы ~ 33%Ответы:
Желе , 2 байта
Попробуйте онлайн!
Как это устроено
источник
»
себя ведут ?!max
делает то же самое.Haskell , 40 байт
Попробуйте онлайн!
Я бы расколол это как:
... что намного элегантнее
источник
Шелуха ,
54 байтаОй, никогда не использовал
‡
раньше (или†
):Попробуйте онлайн!
объяснение
источник
Октава , 13 байт
Попробуйте онлайн!
источник
MATL , 6 байтов
Попробуйте онлайн!
Объяснение:
источник
_t!Xl_
аtt!&Xl
.APL (Dyalog Unicode) , 3 байта
Функция анонимного молчаливого префикса.
Попробуйте онлайн!
⊢
аргумент⌈
потолок с⍉
транспонированный аргументисточник
JavaScript (ES6), 48 байт
Контрольные примеры
Показать фрагмент кода
источник
J , 4 байта
Функция молчаливого префикса.
Попробуйте онлайн!
>.
потолок [аргумента] с|:
транспонированный аргументисточник
f=:
. : P сначала я думал, что вы сократили байтовый счет на 3 байта ...<.
должен быть>.
Джапт ,
12108 байтСмотри, мама, нет транспонирования или молнии!
Попытайся
источник
CJam , 8 байт
Анонимный блок (функция), который берет входные данные из стека и заменяет их выходными данными.
Попробуйте онлайн! Или проверьте все тестовые случаи .
объяснение
источник
R , 23 байта
Попробуйте онлайн!
Это эквивалентно большинству других ответов. Тем не менее, R имеет две разные
max
функции для двух общих сценариев:источник
Чистый , 58 байт
Я не думаю, что это нуждается в объяснении.
Попробуйте онлайн!
источник
C (gcc) ,
7977 байтовПопробуйте онлайн!
Принимает плоский целочисленный массив
A
и размер матрицыn
(поскольку матрица должна быть квадратной) в качестве входных данных. Выводит строковое представление массива целых чисел в стандартный вывод.источник
Юлия 0,6 , 13 байт
max.
применяет функциюmax
поэлементно к ее объектам.Попробуйте онлайн!
источник
05AB1E , 7 байтов
Попробуйте онлайн!
объяснение
источник
Желе , 7 байт
Попробуйте онлайн!
источник
Python 2 , 45 байт
Попробуйте онлайн!
Спасибо полностью человеческому за несколько сохраненных байтов.
источник
Пари / ГП , 21 байт
Попробуйте онлайн!
источник
Wolfram Language (Mathematica) , 23 байта
Порт моего пари / GP ответа .
есть\[Transpose]
.Попробуйте онлайн!
источник
Mathematica , 30 байт
-8 байт благодаря Джонатану Фреху.
Попробуйте онлайн!
источник