Skip to content

Commit 696eadb

Browse files
committed
complete
1 parent 5618b00 commit 696eadb

File tree

1 file changed

+9
-26
lines changed

1 file changed

+9
-26
lines changed

group17/1264835468/src/assignment2_26/ArrayUtil.java

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.ArrayList;
44
import java.util.Arrays;
55
import java.util.List;
6+
import java.util.TreeSet;
67

78
public class ArrayUtil {
89

@@ -56,34 +57,16 @@ public int[] removeZero(int[] oldArray) {
5657
*/
5758

5859
public int[] merge(int[] array1, int[] array2) {
59-
int[] result = new int[array1.length + array2.length];
60-
int ptr1 = 0, ptr2 = 0, ptrResult = 0;
61-
while (ptr1 < array1.length && ptr2 < array2.length) {
62-
if (array1[ptr1] == array2[ptr2]) {
63-
result[ptrResult++] = array1[ptr1];
64-
ptr1++;
65-
ptr2++;
66-
continue;
67-
}
68-
if (array1[ptr1] < array2[ptr2]) {
69-
result[ptrResult++] = array1[ptr1];
70-
ptr1++;
71-
continue;
72-
}
73-
else {
74-
result[ptrResult++] = array2[ptr2];
75-
ptr2++;
76-
}
60+
TreeSet<Integer> set = new TreeSet<>();
61+
for (Integer integer : array1) {
62+
set.add(integer);
7763
}
78-
if (ptr1 == array1.length) {
79-
for (; ptrResult < result.length; ptrResult++) {
80-
result[ptrResult] = array2[ptr2++];
81-
}
64+
for (Integer integer : array2) {
65+
set.add(integer);
8266
}
83-
else {
84-
for (; ptrResult < result.length; ptrResult++) {
85-
result[ptrResult] = array1[ptr1++];
86-
}
67+
int[] result = new int[set.size()];
68+
for (int i = 0; i < result.length; i++) {
69+
result[i] = set.pollFirst();
8770
}
8871
return result;
8972
}

0 commit comments

Comments
 (0)