力扣 48. 旋转图像

🔗 https://leetcode.cn/problems/rotate-image

题目

  • 给一个 n * n 的数组,返回顺时针旋转后的矩阵,要求 in-place,不能使用额外矩阵

思路

  • 明确几个要交换的元素坐标,(i, j) → (j, n - i -1) → (n - i - 1, n - j - 1) → (n - j -1, i) → (i, j) 完成替换即可
  • 明确要遍历的轮次,i 遍历到 n/2 即可,j 遍历 i → n - i - 1

代码

cpp 复制代码
class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int n = matrix.size();
        for (int i = 0; i < n/2; i++) {
            for (int j = i; j < n - i - 1; j++) {
                int tmp = matrix[i][j];
                //printf("--------- %d %d %d\n", i, j, matrix[i][j]);
                matrix[i][j] = matrix[n - j - 1][i];
                matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1];
                matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1];
                matrix[j][n - i - 1] = tmp;
            }
        }
    }
};
相关推荐
hrrrrb24 分钟前
【密码学】6. 消息认证和哈希函数
算法·密码学·哈希算法
肉夹馍不加青椒2 小时前
二十八天(数据结构:图的补充)
数据结构
西猫雷婶2 小时前
python学智能算法(三十六)|SVM-拉格朗日函数求解(中)-软边界
人工智能·python·算法·机器学习·支持向量机
小葡萄20255 小时前
VSCode 刷 LeetCode 算法题配置教程
vscode·算法·leetcode
努力冲冲8 小时前
常用排序算法
java·算法·排序算法
散11210 小时前
01数据结构-图的概念和图的存储结构
数据结构
夜斗小神社11 小时前
【LeetCode 热题 100】(六)矩阵
算法·leetcode·矩阵
天地一流殇12 小时前
SimBA算法实现过程
深度学习·算法·对抗攻击·黑盒
2501_9247306112 小时前
智慧城管复杂人流场景下识别准确率↑32%:陌讯多模态感知引擎实战解析
大数据·人工智能·算法·计算机视觉·目标跟踪·视觉检测·边缘计算
weixin_3077791313 小时前
C++实现MATLAB矩阵计算程序
开发语言·c++·算法·matlab·矩阵