The basic intuition comes from sorting.
In the naive approach, we can sort the array using inbuilt sorting function. The time complexity will be O(N*log(N)).
Time complexity: O(N)
Space complexity: O(1)
class Solution { public void sortColors(int[] nums) { int countZero = 0; int countOne = 0; for(int num: nums){ switch(num){ case 0: countZero++; break; case 1: countOne++; } } int currentIndex = -1; while(0<countZero--){ nums[++currentIndex] = 0; // countZero--; } while(0<countOne--){ nums[++currentIndex] = 1; // countOne--; } while(currentIndex<nums.length-1){ nums[++currentIndex] = 2; } } }
GitHub repo for more solutions: Git
Leetcode profile: Leetcode: devn007
The above is the detailed content of Leetcode Sort Colors. For more information, please follow other related articles on the PHP Chinese website!