NO48. 旋转图像

①沿对角线进行翻折

②每行就行反转

本质:除开对角线进行180°翻折,在每一行进行反转返回90°就可以达到反转90°的效果 

class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        dimension = len(matrix)
        for i in range(dimension):
            for j in range(i):
                matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]
        for line in matrix:
            line.reverse()

循环条件为pos1<pos2

class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        pos1,pos2 =0,len(matrix)-1
        while pos1<pos2:
            add = 0
            while add<pos2-pos1:
                #每四个就行一换
                temp = matrix[pos2-add][pos1]
                matrix[pos2-add][pos1] = matrix[pos2][pos2-add]
                matrix[pos2][pos2-add] = matrix[pos1+add][pos2]
                matrix[pos1+add][pos2] = matrix[pos1][pos1+add]
                matrix[pos1][pos1+add] = temp
                add+=1
            pos1+=1
            pos2-=1

 

posted @   是冰美式诶  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示