有人能告诉我Python中的Merge Sort有什么问题吗?

2024-09-29 20:17:36 发布

您现在位置:Python中文网/ 问答频道 /正文

它给我带来了以下错误,我知道这与左数组或右数组有时不存在这一事实有关。我只是不知道为什么会这样。错误:

File "/Users/lezoudali/Documents/Algorithms/sort.py", line 62, in merge

    while i < len(left) and j < len(right):

TypeError: object of type 'NoneType' has no len()

我的代码:

^{pr2}$

Tags: inpylen错误line数组mergesort
1条回答
网友
1楼 · 发布于 2024-09-29 20:17:36

结果我没有从merge函数返回结果。所以函数是return None,这就是我遇到的问题。谢谢森德勒!在

  def merge(left, right):
    i = j = 0 
    result = []
    while i < len(left) and j < len(right):
      if left[i] < right[j]:
        result.append(left[i])
        i += 1
      else:
        result.append(right[j])
        j += 1
    while i < len(left):
      result.append(left[i])
      i += 1
    while j < len(right):
      result.append(right[j])
      j += 1 
    return result 

相关问题 更多 >

    热门问题