-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRemoveDuplicatesSortedArray.java
More file actions
33 lines (31 loc) · 1.34 KB
/
Copy pathRemoveDuplicatesSortedArray.java
File metadata and controls
33 lines (31 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.Arrays;
class Solution {
// Static method to remove duplicates from the given array
static int removeDuplicates(int[] nums) {
if (nums == null) {
return 0;
}
if (nums.length <= 1) {
return nums.length;
}
int current_pos = 0;
int moving_pos;
for (moving_pos = 1; moving_pos < nums.length; moving_pos++) {
// Check if the current element is different from the next element
if (nums[current_pos] != nums[moving_pos]) {
// If different, move the unique element to the next position in the array
nums[current_pos + 1] = nums[moving_pos];
current_pos++; // Increment the position for the unique element
}
}
// The new length of the array is one more than the current position
return current_pos + 1;
}
/* Driver program to test above functions */
public static void main(String[] args) {
int[] nums = {1, 1, 2, 3, 3, 3, 4, 5, 6, 7, 7};
System.out.println("Original array: " + Arrays.toString(nums));
System.out.println("The length of the original array is: " + nums.length);
System.out.println("After removing duplicates, the new length of the array is: " + removeDuplicates(nums));
}
}