网站设计内容,seo常见优化技术,python做网站难么,装修网页设计网站1 问题
给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
示例 1#xff1a; 输入#xff1a;matrix [[1,2,3],[4,5,6],[7,8…1 问题
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
示例 1 输入matrix [[1,2,3],[4,5,6],[7,8,9]] 输出[[7,4,1],[8,5,2],[9,6,3]] 输入matrix [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] 输出[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
2 答案
这题直接不会 官方解说直接在矩阵上修改但是没说不让用临时的整数所以用临时的整数代替一个值用于替换避免矩阵上的值被覆盖
class Solution:def rotate(self, matrix: List[List[int]]) - None:pos1,pos2 0,len(matrix)-1while pos1pos2:add 0 # add 在每次外循环要重新赋值不让里面的循环就没用了while add pos2-pos1: # 根据实际矩阵看出来的这个小于号#左上角为0块右上角为1块右下角为2块左下角为3块temp matrix[pos2-add][pos1] # 临时整数# temp 3matrix[pos2-add][pos1] matrix[pos2][pos2-add]# 3 2matrix[pos2][pos2-add] matrix[pos1add][pos2]# 2 1matrix[pos1add][pos2] matrix[pos1][pos1add]# 1 0matrix[pos1][pos1add] temp# 0 temp# matrix[pos2-add][pos1], matrix[pos2][pos2-add], matrix[pos1add][pos2], matrix[pos1][pos1add] matrix[pos2][pos2-add], matrix[pos1add][pos2], matrix[pos1][pos1add], matrix[pos2-add][pos1]# 这样写可以不用tempadd add1pos1 pos11pos2 pos2-1