既然选择了python,就要承担超内存的风险。
def deal(arr,l,r):
temp=arr[l]
while l<r:
while l<r and arr[r]>=temp:
r-=1
arr[l]=arr[r]
while l<r and arr[l]<=temp:
l+=1
arr[r]=arr[l]
arr[l]=temp
return l
def fast_sort(arr,l,r,k):
mid=deal(arr,l,r)
if mid==k:
print(arr[k])
return
elif mid>k:
fast_sort(arr,l,mid-1,k)
else:
fast_sort(arr,mid+1,r,k)
if __name__=="__main__":
n,k=map(int,input().strip().split())
arr=list(map(int,input().split()))
fast_sort(arr,0,len(arr)-1,k)
只过了三个点
尝试用C语言重构之后