1
1
package com .coderising .array ;
2
2
3
- import java .util .Arrays ;
4
- import java .util .Iterator ;
3
+ import java .util .ArrayList ;
5
4
import java .util .List ;
6
5
7
6
public class ArrayUtil {
@@ -32,14 +31,14 @@ public void reverseArray(int[] origin) {
32
31
public int [] removeZero (int [] oldArray ) {
33
32
int zeroCount = 0 ;
34
33
for (int i = 0 ; i < oldArray .length ; i ++) {
35
- if (oldArray [i ] == 0 ){
36
- zeroCount ++;
34
+ if (oldArray [i ] == 0 ) {
35
+ zeroCount ++;
37
36
}
38
37
}
39
38
int [] removedZeroArray = new int [oldArray .length - zeroCount ];
40
-
41
- for (int i = 0 ,j = 0 ; i < oldArray .length ; i ++,j ++) {
42
- if (oldArray [i ] == 0 ){
39
+
40
+ for (int i = 0 , j = 0 ; i < oldArray .length ; i ++, j ++) {
41
+ if (oldArray [i ] == 0 ) {
43
42
j --;
44
43
continue ;
45
44
}
@@ -58,6 +57,7 @@ public int[] removeZero(int[] oldArray) {
58
57
*/
59
58
60
59
public int [] merge (int [] array1 , int [] array2 ) {
60
+ List <Integer > mergedArrayList = new ArrayList <>();
61
61
return null ;
62
62
}
63
63
@@ -71,7 +71,9 @@ public int[] merge(int[] array1, int[] array2) {
71
71
* @return
72
72
*/
73
73
public int [] grow (int [] oldArray , int size ) {
74
- return null ;
74
+ int [] resultArray = new int [oldArray .length + size ];
75
+ System .arraycopy (oldArray , 0 , resultArray , 0 , oldArray .length );
76
+ return resultArray ;
75
77
}
76
78
77
79
/**
@@ -82,9 +84,18 @@ public int[] grow(int[] oldArray, int size) {
82
84
* @return
83
85
*/
84
86
public int [] fibonacci (int max ) {
87
+
85
88
return null ;
86
89
}
87
90
91
+ private static int fibonacciNum (int n ) {
92
+ if (n <= 2 ) {
93
+ return 1 ;
94
+ } else {
95
+ return fibonacciNum (n - 1 ) + fibonacciNum (n - 2 );
96
+ }
97
+ }
98
+
88
99
/**
89
100
* 返回小于给定最大值max的所有素数数组 例如max = 23, 返回的数组为[2,3,5,7,11,13,17,19]
90
101
*
@@ -113,13 +124,32 @@ public int[] getPerfectNumbers(int max) {
113
124
* @return
114
125
*/
115
126
public String join (int [] array , String seperator ) {
116
- return null ;
127
+ StringBuilder sb = new StringBuilder ();
128
+ for (int i = 0 ; i < array .length ; i ++) {
129
+ sb .append (array [i ]);
130
+ if (i != array .length - 1 ) {
131
+ sb .append (seperator );
132
+ }
133
+ }
134
+ return sb .toString ();
117
135
}
118
136
119
137
public static void main (String [] args ) {
120
- int [] origin = { 0 , 1 , 2 , 0 , 12 };
121
- new ArrayUtil ().removeZero (origin );
122
-
138
+ /*
139
+ * int[] origin = { 0, 1, 2, 0, 12 }; new
140
+ * ArrayUtil().removeZero(origin);
141
+ */
142
+ /*
143
+ * int[] array1 = { 3, 5, 7, 8 }; int[] array2 = { 4, 5, 6, 7 }; new
144
+ * ArrayUtil().merge(array1, array2);
145
+ */
146
+ /*
147
+ * int[] array = { 3, 8, 9, 10, 12 }; new ArrayUtil().grow(array, 9);
148
+ */
149
+ /*
150
+ * int[] array = { 3, 8, 9, 10, 12 }; String seperator = "-";
151
+ * System.out.println(new ArrayUtil().join(array, seperator));
152
+ */
123
153
}
124
154
125
155
}
0 commit comments