在对代码进行性能测试时,我遇到了时间性能问题
所以,我设计了这个算法和结果,我的大学教授给出的值是正确的。问题是,时间性能已关闭。我想这是因为我有很多嵌套的if和for循环。有没有更好的方法
def溶液(A,K):
mov = -1
pmov = -1
ball_out = False
right_mov = False
down_mov = False
n = 0
count = 0
if (K == 0):
return 0
while (n < K):
for i in range(0,(len(A[0])-1)):
for j in range(0,(len(A))-1):
if (A[i][j] == -1):
mov = -1
if(A[i][j-1] == -1):
pmov = -1
down_mov = True
right_mov = False
elif(A[i][j-1] == 1):
pmov = 1
down_mov = False
right_mov = True
elif(A[i][j-1] == 0):
pmov = 0
elif (A[i][j] == 1):
mov = 1
if(A[i][j-1] == -1):
pmov = -1
down_mov = True
right_mov = False
elif(A[i][j-1] == 1):
pmov = 1
down_mov = False
right_mov = True
elif(A[i][j-1] == 0):
pmov = 0
elif (A[i][j] == 0):
mov = 0
if(A[i][j-1] == -1):
pmov = -1
down_mov = True
right_mov = False
elif(A[i][j-1] == 1):
pmov = 1
down_mov = False
right_mov = True
elif(A[i][j-1] == 0):
pmov = 0
if (A[i-1][j-1] == -1 and down_mov == True):
count += 1
elif (A[i-1][j-1] == 0 and down_mov == True):
count += 1
elif (A[i-1][j-1] == 1):
pass
return count
A = [[-ele for ele in item] for item in A]
#negamos la matriz
n += 1
pass
目前没有回答
相关问题 更多 >
编程相关推荐