https://leetcode.com/problems/sort-colors/css
Given an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white and blue.ide
Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively.this
Note: You are not suppose to use the library's sort function for this problem.spa
Example:指針
Input: [2,0,2,1,1,0] Output: [0,0,1,1,2,2]
Follow up:code
1 class Solution: 2 def sortColors(self, nums: List[int]) -> None: 3 """ 4 Do not return anything, modify nums in-place instead. 5 """ 6 7 def three_way_partition(nums, middle): 8 i, j, n = 0, 0, len(nums) - 1 9 10 while j <= n: 11 if nums[j] < middle: 12 nums[i], nums[j] = nums[j], nums[i] 13 i += 1 14 j += 1 15 elif nums[j] > middle: 16 nums[j], nums[n] = nums[n], nums[j] 17 n -= 1 18 else: 19 j += 1 20 21 three_way_partition(nums, 1)