75. Sort Colors

Question

CleanShot 2024-09-26 at 13.04.32.png

Code

class Solution:
    def sortColors(self, nums: List[int]) -> None:

        N = len(nums)
        p0, curr = 0, 0
        p2 = N - 1

        while curr <= p2:
            if nums[curr] == 0:
                nums[p0], nums[curr] = nums[curr], nums[p0]
                curr += 1
                p0 += 1
            elif nums[curr] == 2:
                nums[p2], nums[curr] = nums[curr], nums[p2]
                p2 -= 1
            else:
                curr += 1