我们必须旋转一个数组,输入包含测试用例的数量,然后下一行数组的大小(N),然后是数组以及数组必须旋转的数量。我收到一个值错误:N以10为底的无效文字。 如果有人可以提供帮助,我将不胜感激。谢谢
我的代码适用于一个测试用例,但不适用于多个测试用例
def arrayRotate(A,N,d):
g_c_d = gcd(N,d)
for i in range(0,g_c_d):
temp = A[i]
j = i
while 1:
k = (j+d)%N
if k == i:
break
else:
A[j]=A[k]
j = k
A[j] = temp
def printArray(A,N): 对于范围(N)中的i: print(A [i],end =“”)
def gcd(a,b): 如果b == 0: 返回一个 其他: 返回gcd(b,a%b)
T = int(input())
范围(T)中的_:
N=int(input())
A=list(map(int,input().split()))
d=int(input())
arrayRotate(A,N,d)
printArray(A,N)
当有多个测试用例时,代码在第一个测试用例之后失败并显示值错误