给定一个二维数组,从左上角到右下角的所有路径中,找出元素和或乘积最小的路径。
def best_path(A):
b=[A[0][0]]
i = 0
j = 0
while i<len(A)-1 and j<len(A[0])-1:
if A[i+1][j] == A[i][j+1]:
if A[i+2][j] >A[i][j+2]:
b.append(A[i][j+1])
j+=1
else:
b.append(A[i+1][j])
i+=1
if A[i+1][j]<A[i][j+1]:
b.append(A[i+1][j])
i += 1
if A[i+1][j]>A[i][j+1]:
b.append(A[i][j+1])
j +=1
print(i,j)
if i==len(A)-1:
for k in range(j,len(A[0])):
b.append(A[i][k+1])
if j ==len(A[0])-1:
for k in range(i+1,len(A)):
b.append(A[k][j])
return b
A = [[1,3,3],[5,6,4],[9,9,11]]
print(best_path(A))