Выбор ответа Middle Матрицы обновлено
Поворот матрицы на месте
Вопрос
Как повернуть квадратную матрицу n × n на 90° по часовой стрелке на месте?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Транспонировать матрицу, затем развернуть каждую строку. Транспонирование плюс разворот строк даёт поворот по часовой.
Варианты ответа
- Развернуть каждую строку, это и есть поворот на 90°
- Развернуть порядок строк, затем ещё раз развернуть порядок строк
- Транспонировать матрицу, затем развернуть каждую строкуправильный ответ
- Транспонировать матрицу дважды подряд по главной диагонали
Разбор
Транспонирование плюс разворот строк даёт поворот по часовой. O(n²) времени, O(1) доп. памяти. (Разворот порядка строк и затем транспонирование тоже даёт поворот по часовой.)
- Разворот строк это зеркало по вертикали.
- Двойной разворот строк возвращает исходную матрицу.
- Двойное транспонирование тоже.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.