From 0a5bb2ebb2da1077cd1147c446efa4b670e06405 Mon Sep 17 00:00:00 2001 From: Mohd Rashid Meraj <64818718+mdrashidmeraj@users.noreply.github.com> Date: Mon, 17 Oct 2022 21:41:27 +0530 Subject: [PATCH] Create DutchNationalFlagAlgorithm.java --- .../DutchNationalFlagAlgorithm.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Commonly Asked Interview Problems/DutchNationalFlagAlgorithm.java 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; + } + } + } + } +}