【Leetcode】旋转矩阵

题目链接:https://leetcode.cn/problems/rotate-matrix-lcci/description/

题目描述

给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。

不占用额外内存空间能否做到?

示例

思路一

先转置再逆序

代码

python 复制代码
class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        row, col = len(matrix), len(matrix[0])
        for i in range(row):
            for j in range(i, col):
                tmp = matrix[i][j]
                matrix[i][j] = matrix[j][i]
                matrix[j][i] = tmp
        
        for i in range(row):
            matrix[i] = matrix[i][::-1]

思路2

代码

python 复制代码
class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        n = len(matrix)
        for i in range(n // 2):
            for j in range((n+1) // 2):
                matrix[i][j], matrix[n - j - 1][i], matrix[n - i - 1][n - j - 1], matrix[j][n - i - 1] \
                    = matrix[n - j - 1][i], matrix[n - i - 1][n - j - 1], matrix[j][n - i - 1], matrix[i][j]
相关推荐
我搞slam几秒前
EM Planner算法与代码解读
算法
CodeWizard~40 分钟前
线性筛法求解欧拉函数以及欧拉反演
算法
45288655上山打老虎43 分钟前
右值引用和移动语义
算法
liulilittle1 小时前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发
白狐_7981 小时前
【项目实战】我用一个 HTML 文件写了一个“CET-6 单词斩”
前端·算法·html
Jasmine_llq1 小时前
《P3811 【模板】模意义下的乘法逆元》
数据结构·算法·线性求逆元算法·递推求模逆元
尋有緣1 小时前
力扣2292-连续两年有3个及以上的订单产品
leetcode·oracle·数据库开发
Jacob程序员2 小时前
欧几里得距离算法-相似度
开发语言·python·算法
ffcf2 小时前
消息中间件6:Redis副本数变为0和删除PVC的区别
算法·贪心算法
CoderYanger2 小时前
动态规划算法-斐波那契数列模型:2.三步问题
开发语言·算法·leetcode·面试·职场和发展·动态规划·1024程序员节