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
Post a Comment