Journal Archive

/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var sortColors = function(nums) {
    const count = {0:0, 1:0, 2:0};
    for (let num of nums) {
        count[num]++;
    }
    for (let i = 0; i < count[0]; i++) {
        nums[i] = 0;
    }
    
    for (let i = 0; i < count[1]; i++) {
        nums[count[0] + i] = 1;
    }
    
    for (let i = 0; i < count[2]; i++) {
        nums[count[1] + count[0] + i] = 2;
    }
};

Day 88: Solving one of LeetCode problems

75. Sort Colors Difficulty - Medium

Given an array nums 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.

We will use the integers 0, 1, and 2 to represent the color red, white, and blue, respectively.

You must solve this problem without using the library's sort function.

 

Example 1:

Input: nums = [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]
		

Example 2:

Input: nums = [2,0,1]
Output: [0,1,2]