我收到运行时错误NZEC请告诉我是什么问题

时间:2019-11-15 17:35:22

标签: python dynamic runtime-error

我制作了一个寻找矩阵路径最大和的程序。您可以从0,0到其右下元素向下,向右或对角线滚动。

for z in range(int(input())):
   n,m = input().split(" ")
   n = int(n)
   m = int(m)
   arr = []
   ans = []
   for i in range(n):
      s = list(input().split(" "))
      s = list(map(int,s))
      arr.append(s)
      ans.append([0 for y in range(m)])
   for i in range(0,n,1):
      for j in range(0,m,1):
         if i==0 and j==0:
            ans[i][j] = arr[i][j]
         elif i==0 and j!=0:
            ans[i][j] = ans[i][j-1] + arr[i][j]
         elif j==0 and i!=0:
            ans[i][j] = ans[i-1][j] + arr[i][j]
         else:
            ans[i][j] = max(ans[i-1][j],ans[i-1][j-1],ans[i][j-1]) + arr[i][j]        
  print(ans[n-1][m-1])            

1 个答案:

答案 0 :(得分:0)

代码在python中,因此应该有适当的缩进,否则您将得到错误。

出现NZEC错误的可能原因:

  1. 无限递归–或如果您的堆栈内存不足。

  2. 确保您的输入和输出与测试用例完全相同。建议使用与您的输出与指定输出完全匹配的计算机代码测试程序。

  3. 发生此错误的另一个常见原因是发生基本的编程错误(例如除以0)。

  4. 检查变量的值,它们很容易受到整数流的影响。

  5. 如果要直接尝试计算20以上的阶乘-寻找另一种方法。

  6. NZEC错误是运行时错误,通常在访问负数组索引时发生。

有关更多信息,您可以检查here

检查边缘情况,在某些情况下您可能正在访问带有负索引的数组。

希望对您有帮助。