Python 矩阵逆时针旋转
我试图解决一个问题,我找不到任何错误,如果可能的话你可以给出提示,因为我想自己解决,我想我不理解python中的可变对象,问题是,我的解决方案是:Python 矩阵逆时针旋转,python,python-3.x,Python,Python 3.x,我试图解决一个问题,我找不到任何错误,如果可能的话你可以给出提示,因为我想自己解决,我想我不理解python中的可变对象,问题是,我的解决方案是: #!/bin/python3 import math import os import random import re import sys # # Complete the 'matrixRotation' function below. # # The function accepts following parameters: # 1.
#!/bin/python3
import math
import os
import random
import re
import sys
#
# Complete the 'matrixRotation' function below.
#
# The function accepts following parameters:
# 1. 2D_INTEGER_ARRAY matrix
# 2. INTEGER r
#
def custom(m,n,new_matrix,matrix):
for k in range(0,int(m/2)):
first_row = k
last_row = m - k - 1
for j in range(k,n-k):
if (j<n-k-1):
new_matrix[first_row][j] = matrix[first_row][j+1]
if (j>k):
new_matrix[last_row][j] = matrix[last_row][j-1]
for i in range(k,m-k):
if(i<m-k-1):
new_matrix[i][n-k-1] = matrix[i+1][n-k-1]
if(i>k):
new_matrix[i][k] = matrix[i-1][k]
return new_matrix
def matrixRotation(matrix, r):
# Write your code here
m = len(matrix);
n = len(matrix[0])
for l in range(r):
new_matrix = [ [0] * n for _ in range(m)]
matrix = custom(m,n,new_matrix,matrix)
for row in matrix:
print(*row)
if __name__ == '__main__':
first_multiple_input = input().rstrip().split()
m = int(first_multiple_input[0])
n = int(first_multiple_input[1])
r = int(first_multiple_input[2])
matrix = []
for _ in range(m):
matrix.append(list(map(int, input().rstrip().split())))
matrixRotation(matrix, r)
#/垃圾桶/蟒蛇3
输入数学
导入操作系统
随机输入
进口稀土
导入系统
#
#完成下面的“矩阵旋转”功能。
#
#该函数接受以下参数:
# 1. 二维整数数组矩阵
# 2. 整数r
#
def自定义(m、n、新矩阵、矩阵):
对于范围(0,int(m/2))内的k:
第一行=k
最后一行=m-k-1
对于范围(k,n-k)内的j:
如果(jk):
新矩阵[最后一行][j]=矩阵[最后一行][j-1]
对于范围内的i(k,m-k):
如果(ik):
新矩阵[i][k]=矩阵[i-1][k]
返回新的矩阵
def矩阵旋转(矩阵,r):
#在这里编写代码
m=len(矩阵);
n=len(矩阵[0])
对于范围(r)中的l:
新的_矩阵=[[0]*n表示u在范围内(m)]
矩阵=自定义(m,n,新矩阵,矩阵)
对于矩阵中的行:
打印(*行)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
第一个\u多个\u输入=输入().rstrip().split()
m=int(第一个多个输入[0])
n=int(第一个多个输入[1])
r=int(第一个多个输入[2])
矩阵=[]
对于范围内的u(m):
追加(列表(映射(int,input().rstrip().split()))
矩阵旋转(矩阵,r)
我找不到错误,new\u matrix[first\u row][j]=matrix[first\u row][j+1]
在python中是否不能正常工作
我写这篇文章作为备选方案,因为我试图优化这个解决方案,它给我35.56分并通过8/13个测试用例如果你想回答你的问题而看不到产生问题的任何数据,我可以在每一步解释我的代码。请阅读Jon Skeet的优秀博客文章,以获得更新问题的指导。有关提问的更详细教程,请参见Eric S.Raymond的网站@itprorh66没有一个网站是足够的,没有时间访问两个网站也请参见此