我想在数组中找到K个最小元素:
def partition(A):
pivotIndex = len(A)-1
storeIndex = 0
for i in xrange(len(A)):
if A[i] < A[pivotIndex]:
A[i], A[storeIndex] = A[storeIndex], A[i]
storeIndex += 1
A[storeIndex], A[pivotIndex] = A[pivotIndex], A[storeIndex]
print A
return storeIndex
def findminiK(array, k):
mini = 0
while mini < k:
if mini < k-1 :
print array, "---"
mini = partition(array[mini:])
print array, "++"
elif mini == k-1:
return array[:k]
else :
mini = partition(array[:mini])
return array[k]
在我的opinoin中,分区后,数组会发生变化。
e.g:
原始数组是[3,4,7,5,9,9,6]
分区后,数组将变为[3,4,5,6,7,9,8]
但我发现阵列没有变化
谁可以给我一些建议?