Remove Duplicates from Sorted array in C#

   
  

class HelloWorld {
    static void Main() {
       RunProgramRemoveDuplicatesArray();
    }
    
    
        // Driver Code
        public static void RunProgramRemoveDuplicatesArray()
        {
            // int[] arr = { 1, -2, -3, 0, 7, -8, -2 };

            int[] arr = { 1,2,2,3,4,4};
            
            // Console.Write("Maximum Sub array product is "
            //               + RemoveDuplicates(arr));
            var removedDup = RemoveDuplicates(arr);
            
            for(int i=0 ; i < removedDup; i++ )
            {
                  Console.WriteLine(arr[i]);
            }

            Console.ReadLine();
        }
    
    // algorithm
    // index:  0 1 2 3 4 5
    // input: 1 2 2 3 4 4
    // Length:6
    // logic: start from 1 to array length
    // previous element != current element
    // initially index be 0 and set the intial value
    // increment index by 1
    // assign the current element to previous index 
        
    

        public static int RemoveDuplicates(int[] nums)
        {
            if (nums.Length == 0)
            {
                return 0;
            }

            int index = 0;
            for (int i = 1; i < nums.Length; i++)
            {
                if (nums[i] != nums[index])
                {
                    index++;
                    nums[index] = nums[i];
                }
            }

            return index + 1;
        }
}

    

Comments