我有一個數組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