首页 > 解决方案 > 运行时错误:如何在一个循环内缩短代码

问题描述

我正在解决一个问题我遇到运行时错误,如果有任何其他错误,我们可以缩短代码长度,请提出建议

T=int(input())

for i in range(T):
    N= int(input())
    P=[0]*N

    C=list(map(int,input().split()))
    H=list(map(int,input().split()))
    for i in range(N):
        if((i-C[i]>=0)and (i+C[i]<N)):
                for j in range(i-C[i],i+C[i]+1):
                    P[j]=P[j]+1
        elif((i-C[i]>=0)and (i+C[i]>N)):
                for j in range(i-C[i],N):
                    P[j]=P[j]+1




        elif((i+C[i]<N) and (i-C[i]<0)) :
                for j in range(0,i+C[i]+1):
                    P[j]=P[j]+1
        else:
                for j in range(0,N):
                    P[j]=P[j]+1
    H=sorted(H)
    P=sorted(P)
    if(H==P):
        print("YES")
    else:
        print("NO")

标签: pythonpython-3.xalgorithmsortingdata-structures

解决方案


您对测试用例和数组使用相同的循环变量。在测试用例循环中使用任何其他变量,那么您将不会收到运行时错误。


推荐阅读