我无法克服这个错误。我正在做一个类似于合并排序中的合并的例程。也许我实例化了一些错误。这是代码:
def MergeAndCountSplitInv(arr, length):
left = arr[0:length/2]
right = arr[length/2+1: length]
i = 0
j = 0
numSplitInv = 0
newArray = [0] * length
for k in range(len(arr)):
if (left[i] < right[j]):
#newArray.insert(k, left[i])
newArray.append(left[i])
i = i + 1
else: #(right[j] < left[i]
#newArray[k].insert(k, right[j])
newArray.append(right[j])
j = j + 1
numSplitInv = numSplitInv + (length/2 - i)
return ReturnValue(newArray, numSplitInv)
错误如下:
File "InversionCount.py", line 31, in MergeAndCountSplitInv
if (left[i] < right[j]):
IndexError: list index out of range
感谢您的任何帮助