[E模拟] lc1886. 判断矩阵经轮转后是否一致(模拟+周赛244_1)

Posted Ypuyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[E模拟] lc1886. 判断矩阵经轮转后是否一致(模拟+周赛244_1)相关的知识,希望对你有一定的参考价值。

1. 题目来源

链接:1886. 判断矩阵经轮转后是否一致

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模拟] lc203. 移除链表元素(链表+模拟)

[E模拟] lc1736. 替换隐藏数字得到的最晚时间(模拟+时间问题+sprintf函数+周赛225_1)

[E模拟] lc5804. 检查是否所有字符出现次数相同(模拟+双周赛57_1)

基本数组题练习