力扣 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;
            }
        }
    }
};
相关推荐
IT大白鼠17 小时前
AIGC性能的关键瓶颈:算力、数据、算法三者如何互相制约?
算法·aigc
白雪茫茫18 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
FengyunSky18 小时前
浅析 空间频率响应 SFR 计算
算法
树下水月18 小时前
PHP 一种改良版的雪花算法
算法·php·dreamweaver
一只数据集18 小时前
全尺寸人形机器人灵巧手力觉触觉数据集-2908条ROSbag数据覆盖14大应用场景深度解析
大数据·人工智能·算法·机器人
罗西的思考20 小时前
【GUI-Agent】阿里通义MAI-UI 代码阅读(2)--- 实现
人工智能·算法·机器学习
流年如夢20 小时前
单链表进阶版 -->双向链表
数据结构·链表
刀法如飞21 小时前
TypeScript 数组去重的 20 种实现方式,哪一种你还不知道?
前端·javascript·算法
流年如夢21 小时前
单链表 -->增、删、查、改等详细操作
c语言·数据结构
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章66-直线夹角
图像处理·人工智能·opencv·算法·计算机视觉