问题描述
很抱歉,如果我要问一些愚蠢的问题(我对编码很陌生),但是我没有找到明确的解释供我怀疑。我在leetcode上遇到了以下问题:
您将获得一个n x n的2D矩阵,代表一个图像,将图像旋转90度(顺时针)。您必须就地旋转图像,这意味着您必须直接修改输入2D矩阵。不要分配另一个2D矩阵并进行旋转。 例: 输入:矩阵= [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8,2],[9,6,3]]
我的解决方法是:
class Solution:
def rotate(self,matrix):
l = len(matrix)
clockwise_nums = [matrix[j][i] for i in range(l) for j in range(l - 1,-1,-1)]
final_array = [clockwise_nums[i:i + l] for i in range(0,len(clockwise_nums),l)]
return final_array
完全执行(矩阵旋转)有效,但是由于它不在原位,因此不被接受。但是我真的不明白这意味着什么。 您是否认为我的方法不太合适,我应该尝试其他方法吗?还是有一种方法可以调整我的解(我很高兴我想出一种旋转矩阵的方法)? 同样,任何有关就地算法的技巧将不胜感激。 非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)