力扣 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;
            }
        }
    }
};
相关推荐
星马梦缘39 分钟前
Matlab机器人工具箱使用1 简单的描述类函数
matlab·矩阵·机器人·位姿·欧拉角·rpy角
空白到白1 小时前
决策树-面试题
算法·决策树·机器学习
flashlight_hi1 小时前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode
前端世界1 小时前
HarmonyOS 数据处理性能优化:算法 + 异步 + 分布式实战
算法·性能优化·harmonyos
YS_Geo1 小时前
Redis 深度解析:数据结构、持久化与集群
数据结构·数据库·redis
楼田莉子1 小时前
C++算法专题学习:栈相关的算法
开发语言·c++·算法·leetcode
njxiejing1 小时前
Pandas数据结构(DataFrame,字典赋值)
数据结构·人工智能·pandas
tju新生代魔迷1 小时前
数据结构:单链表以及链表题
数据结构·链表
dragoooon341 小时前
[数据结构——lesson3.单链表]
数据结构·c++·leetcode·学习方法
hsjkdhs1 小时前
数据结构之链表(单向链表与双向链表)
数据结构·链表·指针