刷题交流|python内置函数sort()底层是快排实现吧,为什么这个手敲的快排会超出时间限制
1681
2023.03.20
发布于 未知归属地

手敲的快排为什么会超出时间限制

class Solution:
    def majorityElement(self, arr: List[int]) -> int:
        def quick_sort(arr, l, r):
            if l >= r:
                return
            i, j = l, r
            while i < j:
                while i < j and arr[j] >= arr[l]:
                    j -= 1
                while i < j and arr[i] <= arr[l]:
                    i += 1
                temp = arr[i]
                arr[i] = arr[j]
                arr[j] = temp
            x = arr[l]
            arr[l] = arr[i]
            arr[i] = x
            quick_sort(arr, l, i - 1)
            quick_sort(arr, i + 1, r) 
        quick_sort(arr, 0, len(arr) - 1)
        return arr[len(arr)// 2]

图片.png
下面是官方的用sort()就可以通过这个测试用例呢
图片.png

评论 (12)