力扣 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;
            }
        }
    }
};
相关推荐
有点。6 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥7 小时前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸8 小时前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp8 小时前
KV Cache 解析
java·算法
liliangcsdn8 小时前
IVOL与偏度因子的对比测量分析
算法
threerocks9 小时前
Jev 入门第一课
算法
西柚研究生12345610 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
hetao173383711 小时前
2026-09-17 hetao1733837 的刷题记录
c++·算法
午彦琳12 小时前
2026.9.17
数据结构·算法·leetcode
木井巳12 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法