Bladeren bron

All tests passed

Lauren Green 8 jaren geleden
bovenliggende
commit
69b3178ffb
1 gewijzigde bestanden met toevoegingen van 64 en 4 verwijderingen
  1. 64
    4
      src/main/java/com/zipcodewilmington/StringArrayUtils.java

+ 64
- 4
src/main/java/com/zipcodewilmington/StringArrayUtils.java Bestand weergeven

@@ -121,7 +121,16 @@ public class StringArrayUtils {
121 121
      * @return number of occurrences the specified `value` has occurred
122 122
      */ // TODO
123 123
     public static int getNumberOfOccurrences(String[] array, String value) {
124
-        return 0;
124
+
125
+        int result = 0;
126
+
127
+        for (String s : array) {
128
+            if (s.equals(value)) {
129
+                result++;
130
+            }
131
+        }
132
+
133
+        return result;
125 134
     }
126 135
 
127 136
     /**
@@ -130,7 +139,20 @@ public class StringArrayUtils {
130 139
      * @return array with identical contents excluding values of `value`
131 140
      */ // TODO
132 141
     public static String[] removeValue(String[] array, String valueToRemove) {
133
-        return null;
142
+
143
+        String[] result1 = new String[array.length];
144
+        int i = 0;
145
+
146
+        for (String s : array) {
147
+            if(!s.equals(valueToRemove)) {
148
+                result1[i] = s;
149
+                i++;
150
+            }
151
+        }
152
+
153
+        String[] result2 = Arrays.copyOf(result1, i);
154
+
155
+        return result2;
134 156
     }
135 157
 
136 158
     /**
@@ -138,7 +160,23 @@ public class StringArrayUtils {
138 160
      * @return array of Strings with consecutive duplicates removes
139 161
      */ // TODO
140 162
     public static String[] removeConsecutiveDuplicates(String[] array) {
141
-        return null;
163
+
164
+        String[] result1 = new String[array.length];
165
+        String lastValue = "";
166
+        int numb = 0;
167
+
168
+        for (int i = 0; i < array.length; i++) {
169
+            if (!array[i].equals(lastValue)) {
170
+                lastValue = array[i];
171
+                result1[numb] = array[i];
172
+                numb++;
173
+            }
174
+        }
175
+
176
+        String[] result2 = Arrays.copyOf(result1, numb);
177
+
178
+
179
+        return result2;
142 180
     }
143 181
 
144 182
     /**
@@ -146,7 +184,29 @@ public class StringArrayUtils {
146 184
      * @return array of Strings with each consecutive duplicate occurrence concatenated as a single string in an array of Strings
147 185
      */ // TODO
148 186
     public static String[] packConsecutiveDuplicates(String[] array) {
149
-        return null;
187
+
188
+        String[] result1 = new String[array.length];
189
+        String lastValue = array[0];
190
+        String running = array[0];
191
+        int numb = 0;
192
+
193
+        for (int i = 1; i < array.length; i++) {
194
+            if (!array[i].equals(lastValue)) {
195
+                lastValue = array[i];
196
+                result1[numb] = running;
197
+                running = array[i];
198
+                numb++;
199
+            } else {
200
+                running = running + array[i];
201
+            }
202
+        }
203
+
204
+        result1[numb] = running;
205
+
206
+        String[] result2 = Arrays.copyOf(result1, numb+1);
207
+
208
+
209
+        return result2;
150 210
     }
151 211
 
152 212