旋转数组(0°-360°)
6.6的LeetCode周赛第一题为旋转数组,与48题有些类似。
顺时针旋转90°
顺时针转90°,可以通过一行来找规律。
90度旋转后行转为列,第 i 行变为 第 n - 1 - i 列,则mat[i][j] ——> mat[j][n-1-i]
顺时针旋转180°
旋转180°后,第 i 行转到了 第 n - 1 - i 行,同时对应的列也发生了变化,第 j 列转到了 第 n - 1 - j 列。
则mat[i][j] ——> mat[n-1-i][n-1-j]
顺时针旋转360°
旋转360°后,第 i 行转到了 第 i 列,同时对应的列也发生了变化,第 j 列转到了 第 n - 1 - j 行。
则mat[i][j] ——> mat[n-1-j][i]
题意中旋转若干次,则可能旋转0°、90°、180°、360°,如果有旋转结果能使mat与target一致,则返回true。
代码
class Solution { |
------ 本文结束感谢您的阅读 ------