File tree Expand file tree Collapse file tree 1 file changed +9
-26
lines changed
group17/1264835468/src/assignment2_26 Expand file tree Collapse file tree 1 file changed +9
-26
lines changed Original file line number Diff line number Diff line change 3
3
import java .util .ArrayList ;
4
4
import java .util .Arrays ;
5
5
import java .util .List ;
6
+ import java .util .TreeSet ;
6
7
7
8
public class ArrayUtil {
8
9
@@ -56,34 +57,16 @@ public int[] removeZero(int[] oldArray) {
56
57
*/
57
58
58
59
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 );
77
63
}
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 );
82
66
}
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 ();
87
70
}
88
71
return result ;
89
72
}
You can’t perform that action at this time.
0 commit comments