python 用快排都能超时吗?这也没毛病啊。求大神解答
查看原帖
python 用快排都能超时吗?这也没毛病啊。求大神解答
945662
dracuxi楼主2023/2/27 21:49
a = int(input())
lst = list(map(int, input().split()))
def partition(li, left, right):
    tmp = li[left]
    while left < right:
        while left < right and li[right] >= tmp:
            right -= 1
        li[left] = li[right]
        while left < right and li[left] <= tmp:
            left += 1
        li[right] = li[left]
    li[left] = tmp
    return left
def quick_way(li, left, right):
    if left < right:
        mid = partition(li, left, right)
        quick_way(li, left, mid-1)
        quick_way(li, mid+1, right)


quick_way(lst, 0, len(lst)-1)
for i in lst:
    print(i, end=" ")
2023/2/27 21:49
加载中...