#python-3.x #sorting #matrix
Вопрос:
Мне задали этот вопрос для оценки кодирования в Python 3, но все, что я пробовал, выглядело очень грязно, и я не смог найти решение.
Учитывая квадратную матрицу положительных чисел и размер, который равномерно делит длину матрицы, выполните следующие действия:
- Разделите матрицу на неперекрывающуюся матрицу размера x.
- Расположите подматрицы в порядке возрастания по минимальному положительному целому числу в каждой подматрице и поместите их обратно в матрицу. Их следует заказывать слева направо, сверху вниз. Если две подматрицы имеют одинаковое минимальное положительное целое число, сохраните их исходный порядок в матрице.
Напр.,
[[1, 2, 2, 3],
[3, 4, 10, 4],
[2, 10, 1, 2],
[5, 4, 4, 5]]
размер = 2
Выход:
[[2, 3, 2, 10],
[10, 4, 5, 4],
[1, 2, 1, 2],
[4, 5, 3, 4]]
где подматрицы вместе с их минимальными положительными целыми числами являются:
[[1, 2],
[3, 4]]
= 5
[[2, 3],
[10, 4]],
= 1
[[2, 10],
[5, 4]]
= 1
[[1, 2],
[4, 5]]
= 3
Любые намеки вообще будут большим подспорьем. Спасибо.
Комментарии:
1. Когда вы говорите: «Но все, что я пробовал, выглядело действительно грязно…», можете ли вы показать некоторые из решений, которые вы пытались? У вас будет гораздо больше шансов получить ответ, если вы покажете, что приложили добросовестные усилия, спасибо!
2. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.