Rotate matrix

字节;腾讯

题目描述

有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。

给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。示例1

输入

复制

[[1,2,3],[4,5,6],[7,8,9]],3 

返回值

复制

[[7,4,1],[8,5,2],[9,6,3]]

想法:

  1. set column, row 的边界 cs, ce, rs re

  2. 计算它目前位置的column到cs 的距离

  3. 利用这个距离和cs, ce, rs, re 查找4个对应位置的element 并swap

  4. cs, ce, rs, re向内部缩小一层

  5. 重复2~4直到cs >= ce位置

Last updated

Was this helpful?