-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRemoveDuplicates.java
More file actions
93 lines (88 loc) · 2.99 KB
/
RemoveDuplicates.java
File metadata and controls
93 lines (88 loc) · 2.99 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package JavaLeetcode.src.easy;
public class RemoveDuplicates {
public void testDuplicates() {
System.out.println("Running Tests for 26.RemoveDuplicates");
int[] nums1 = { 1, 1, 2 };
System.out.print("Original array: ");
for (int num : nums1) {
System.out.print(num + " ");
}
System.out.println();
int k1 = removeDuplicates(nums1);
System.out.println("Number of unique elements: " + k1);
System.out.print("Modified array: ");
for (int i = 0; i < k1; i++) {
System.out.print(nums1[i] + " ");
}
System.out.println("\n------------------------------------");
assert k1 == 2;
assert nums1[0] == 1;
assert nums1[1] == 2;
int[] nums2 = { 0, 0, 1, 1, 1, 2, 2, 3, 3, 4 };
System.out.print("Original array: ");
for (int num : nums2) {
System.out.print(num + " ");
}
System.out.println();
int k2 = removeDuplicates(nums2);
System.out.println("Number of unique elements: " + k2);
System.out.print("Modified array: ");
for (int i = 0; i < k2; i++) {
System.out.print(nums2[i] + " ");
}
System.out.println("\n------------------------------------");
assert k2 == 5;
assert nums2[0] == 0;
assert nums2[1] == 1;
assert nums2[2] == 2;
assert nums2[3] == 3;
assert nums2[4] == 4;
int[] nums3 = { 1, 1, 1, 1, 1 };
System.out.print("Original array: ");
for (int num : nums3) {
System.out.print(num + " ");
}
System.out.println();
int k3 = removeDuplicates(nums3);
System.out.println("Number of unique elements: " + k3);
System.out.print("Modified array: ");
for (int i = 0; i < k3; i++) {
System.out.print(nums3[i] + " ");
}
System.out.println("\n------------------------------------");
assert k3 == 1;
assert nums3[0] == 1;
int[] nums4 = { 1, 2, 3, 4, 5 };
System.out.print("Original array: ");
for (int num : nums4) {
System.out.print(num + " ");
}
System.out.println();
int k4 = removeDuplicates(nums4);
System.out.println("Number of unique elements: " + k4);
System.out.print("Modified array: ");
for (int i = 0; i < k4; i++) {
System.out.print(nums4[i] + " ");
}
System.out.println("\n------------------------------------");
assert k4 == 5;
assert nums4[0] == 1;
assert nums4[1] == 2;
assert nums4[2] == 3;
assert nums4[3] == 4;
assert nums4[4] == 5;
}
public int removeDuplicates(int[] nums) {
if (nums.length == 0) {
return 0;
}
int k = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[i] != nums[i - 1]) {
nums[k] = nums[i];
k++;
}
}
return k;
}
}