Rust 力扣 - 48. 旋转图像

文章目录

题目描述

题解思路

我们可以将原矩阵进行水平翻转,然后在沿主对角线进行翻转,就能完成原矩阵沿顺时针方向旋转90o的变换

题解代码

rust 复制代码
impl Solution {
    pub fn rotate(matrix: &mut Vec<Vec<i32>>) {
        let n = matrix.len();
        
        // 水平翻转
        for i in 0..(n >> 1) {
            for j in 0..n {
                (matrix[i][j], matrix[n - 1 - i][j]) = (matrix[n - 1 - i][j], matrix[i][j]);
            }
        }

        // 主对角线翻转
        for i in 1..n {
            for j in 0..i {
                (matrix[i][j], matrix[j][i]) = (matrix[j][i], matrix[i][j]);
            }
        }
    }
}

题解链接

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

相关推荐
ttwuai7 小时前
Go后台管理系统开源项目:4个官方仓库怎么追溯和核验
开发语言·golang·开源
谢亮_vipxieliang7 小时前
Go Worker Pool 设计——从原理到生产级实现
开发语言·后端·golang
青少儿编程课堂7 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
IT_陈寒7 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
lightning_bug8 小时前
Windows系统Docker+SpringBoot+H5+Mysql+Redis打包部署流程
后端·架构
光影少年8 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
SingleShadow8 小时前
一文搞懂 CAN 总线:从入门到 STM32 应用
后端
Escalating_xu8 小时前
【C 语言】深入理解指针(5):sizeof、strlen、数组名语义与指针笔试题全解析
java·c语言·开发语言
码事漫谈8 小时前
国庆七天,AI圈没一天消停
后端
HEJOO98 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法