LeetCode #75 Sort Colors

题目

Sort Colors


解题方法

默写快速排序...

什么!你竟然不会?

俺也一样.jpg


代码

class Solution:
    def sortColors(self, nums: List[int]) -> None:
        self.quicksort(nums, 0, len(nums) - 1)
    
    def quicksort(self, nums: List[int], l: int, r: int):
        if l < r:
            i, j = l, r
            x = nums[l]
            while i < j:
                while i < j and nums[j] >= x:
                    j -= 1
                if i < j:
                    nums[i] = nums[j]
                    i += 1
                while i < j and nums[i] < x:
                    i += 1
                if i < j:
                    nums[j] = nums[i]
                    j -= 1
            nums[i] = x
            self.quicksort(nums, l, i - 1)
            self.quicksort(nums, i + 1, r)
posted @ 2020-10-14 15:55  老鼠司令  阅读(65)  评论(0)    收藏  举报