Sort Colors
Given an array with values 0, 1, and 2, sort it in-place (Dutch National Flag problem variant).
Example: nums = [2,0,2,1,1,0] → [0,0,1,1,2,2]
Sample Input
—
Sample Output
—
Constraints
- 1 <= N <= 10^3
- 0 <= arr[i] <= 2
Topics
Three-Way Partitioning
function sortColors(nums) {
let lo = 0, mid = 0, hi = nums.length - 1;
while (mid <= hi) {
if (nums[mid] === 0) { [nums[lo], nums[mid]] = [nums[mid], nums[lo]]; lo++; mid++; }
else if (nums[mid] === 1) mid++;
else { [nums[mid], nums[hi]] = [nums[hi], nums[mid]]; hi--; }
}
}
Time: O(n) | Space: O(1)
Saved in this browser only. Private to you.