[E模拟] lc1886. 判断矩阵经轮转后是否一致(模拟+周赛244_1)
Posted Ypuyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[E模拟] lc1886. 判断矩阵经轮转后是否一致(模拟+周赛244_1)相关的知识,希望对你有一定的参考价值。
1. 题目来源
2. 题目解析
模拟题。
写一个函数,实现将二维方阵顺时针旋转 90 度的操作即可。
旋转 4 次,判断两方阵是否相等。
分方向遍历二维矩阵即可,也是需要理清楚行列关系的…没理清 2WA…
时间复杂度: O ( n 2 ) O(n^2) O(n2)
空间复杂度: O ( n 2 ) O(n^2) O(n2)
class Solution {
public:
vector<vector<int>> rotate(vector<vector<int>> a) {
int n = a.size();
vector<vector<int>> res(n, vector<int>(n));
for (int i = 0; i < n; i ++ )
for (int j = 0, k = n - 1; j < n; j ++ , k -- )
res[i][j] = a[k][i];
return res;
}
bool findRotation(vector<vector<int>>& mat, vector<vector<int>>& target) {
for (int i = 0; i < 4; i ++ ) {
mat = rotate(mat);
if (mat == target) return true;
}
return false;
}
};
以上是关于[E模拟] lc1886. 判断矩阵经轮转后是否一致(模拟+周赛244_1)的主要内容,如果未能解决你的问题,请参考以下文章
[E差分] lc1893. 检查是否区域内所有整数都被覆盖(差分计数+模拟+双周赛54_1)
[E二分] lc1337. 矩阵中战斗力最弱的 K 行(模拟+STL+二分优化)
[E模拟] lc1736. 替换隐藏数字得到的最晚时间(模拟+时间问题+sprintf函数+周赛225_1)