diff --git a/Commonly Asked Interview Problems/DutchNationalFlagAlgorithm.java b/Commonly Asked Interview Problems/DutchNationalFlagAlgorithm.java new file mode 100644 index 0000000..34b35f1 --- /dev/null +++ b/Commonly Asked Interview Problems/DutchNationalFlagAlgorithm.java @@ -0,0 +1,34 @@ +public class Solution { + public static void main(String[] args){ + int[] nums = {0,2,1,2,0,1,1,2}; + sortColors(nums); + } + public void sortColors(int[] nums) { + int lo = 0; + int hi = nums.length - 1; + int mid = 0; + int temp; + while (mid <= hi) { + switch (nums[mid]) { + case 0: { + temp = nums[lo]; + nums[lo] = nums[mid]; + nums[mid] = temp; + lo++; + mid++; + break; + } + case 1: + mid++; + break; + case 2: { + temp = nums[mid]; + nums[mid] = nums[hi]; + nums[hi] = temp; + hi--; + break; + } + } + } + } +}