我有一个数组A = [a1,a2,a3,a4,a5 ...],我想找到数组的两个元素,比如说A [i]和A [j]小于j并且A [j] -A [i]是最小的。找到最小的差异
请问这代码做的工作:
def findMinDifference(A):
Unsorted=[]
minDiff=1000000
Unsorted=A
Sorted=quickSort(A)
for i in range(0,len(Sorted)):
if i>=1:
SmallElement=Sorted[i-1]
indexOfSmaller=Unsorted.index(SmallElement)
BigElement=Sorted[i]
indexOfBig=Unsorted.index(BigElement)
if indexOfSmaller<inexOfBig:
diff=Sorted[i]-Sorted[i-1]
if diff<minDiff:
minDiff=diff
return minDiff
我想你可以通过测试的代码回答你自己的问题。 – Blender 2013-03-25 02:06:23
除此之外:很难说(而且格式已经被编辑),但是你的缩进对我来说看起来很奇怪,这有时候是原文中混合了制表符和空格的标志。以防万一,你可能想用'python -tt your_program_name.py'来运行你的代码来检查不一致的空白。 – DSM 2013-03-25 02:14:18
@Blender你对算法的正确性有任何想法吗? – user2205925 2013-03-25 02:52:57