Skip to content

Instantly share code, notes, and snippets.

@andrey-helldar
Last active July 1, 2019 06:34
Show Gist options
  • Save andrey-helldar/dd7fb4f1ef1877e22ea2635d6bc6be36 to your computer and use it in GitHub Desktop.
Save andrey-helldar/dd7fb4f1ef1877e22ea2635d6bc6be36 to your computer and use it in GitHub Desktop.
Необходимо написать функцию sortMat(array $mat): array, которая наиболее компактным кодом выполняет сортировку произвольной матрицы NxM: бОльшие по значению элементы должны располагаться ниже, слева направо.
<?php
/*
* Необходимо написать функцию sortMat(array $mat): array,
* которая наиболее компактным кодом выполняет сортировку
* произвольной матрицы NxM: бОльшие по значению элементы
* должны располагаться ниже, слева направо.
*
* Пример исходной матрицы:
*
* $mat = [
* [6, 5, 13],
* [1, 4, 2],
* [3, 9, 8],
* [5, 10, 7],
* ];
*
* результат выполнения функции sortMat для исходной матрицы $mat будет иметь вид:
*
* $result = [
* [3, 2, 1],
* [5, 5, 4],
* [8, 7, 6],
* [13, 10, 9],
* ];
*/
function sortMat(array $arr): array {
$result = array_merge([], ...$arr);
rsort($result);
$result = array_chunk($result, 3);
sort($result);
return $result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment