From cd2aee1b31005b61f8d6c18816047e73c42b9e7d Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Fri, 25 Oct 2019 14:54:46 -0400 Subject: [PATCH 1/3] some stuff done --- .../java/com/zipcodewilmington/StringArrayUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/StringArrayUtils.java b/src/main/java/com/zipcodewilmington/StringArrayUtils.java index 4bcce66..8ab1090 100644 --- a/src/main/java/com/zipcodewilmington/StringArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/StringArrayUtils.java @@ -25,7 +25,8 @@ public static String getSecondElement(String[] array) { * @return last element in specified array */ // TODO public static String getLastElement(String[] array) { - return null; + int last = array.length - 1; + return array[last]; } /** @@ -33,7 +34,8 @@ public static String getLastElement(String[] array) { * @return second to last element in specified array */ // TODO public static String getSecondToLastElement(String[] array) { - return null; + int secondToLast = array.length-2; + return array[secondToLast]; } /** @@ -42,6 +44,9 @@ public static String getSecondToLastElement(String[] array) { * @return true if the array contains the specified `value` */ // TODO public static boolean contains(String[] array, String value) { + for (int i = 0; i < array.length; i++){ + if(array[i]==value){return true;} + } return false; } From 01a1be9f1f4168a1825df5bb315cca5a0805ef25 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Sat, 26 Oct 2019 19:41:16 -0400 Subject: [PATCH 2/3] 5 tests fail --- .../zipcodewilmington/StringArrayUtils.java | 59 ++++++++++++++++--- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/StringArrayUtils.java b/src/main/java/com/zipcodewilmington/StringArrayUtils.java index 8ab1090..bbf265c 100644 --- a/src/main/java/com/zipcodewilmington/StringArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/StringArrayUtils.java @@ -1,5 +1,8 @@ package com.zipcodewilmington; +import java.util.ArrayList; +import java.util.Arrays; + /** * Created by leon on 1/29/18. */ @@ -55,7 +58,13 @@ public static boolean contains(String[] array, String value) { * @return an array with identical contents in reverse order */ // TODO public static String[] reverse(String[] array) { - return null; + String[] ans = new String[array.length]; + int j = 0; + for (int i = array.length - 1; i >= 0; i--){ + ans[j] = array[i]; + j++; + } + return ans; } /** @@ -63,7 +72,14 @@ public static String[] reverse(String[] array) { * @return true if the order of the array is the same backwards and forwards */ // TODO public static boolean isPalindromic(String[] array) { - return false; + int i = 0; + int j = array.length - 1; + + for(i = 0; i < j; i++){ + if(array[i] == array[j]) {j--;} + else return false; + } + return true; } /** @@ -71,7 +87,14 @@ public static boolean isPalindromic(String[] array) { * @return true if each letter in the alphabet has been used in the array */ // TODO public static boolean isPangramic(String[] array) { - return false; + String sentence = String.join("",array).toLowerCase(); + + String[] alphabet = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}; + for (int i = 0; i <26; i++){ + if (sentence.contains(alphabet[i])){} + else {return false;} + } + return true; } /** @@ -80,7 +103,11 @@ public static boolean isPangramic(String[] array) { * @return number of occurrences the specified `value` has occurred */ // TODO public static int getNumberOfOccurrences(String[] array, String value) { - return 0; + int ans = 0; + for (int i = 0; i < array.length; i++){ + if(array[i] == value){ans++;} + } + return ans; } /** @@ -89,7 +116,10 @@ public static int getNumberOfOccurrences(String[] array, String value) { * @return array with identical contents excluding values of `value` */ // TODO public static String[] removeValue(String[] array, String valueToRemove) { - return null; + ArrayList arrayListed = new ArrayList(Arrays.asList(array)); + arrayListed.remove(valueToRemove); + String[] ans = arrayListed.toArray(new String[0]); + return ans; } /** @@ -97,7 +127,14 @@ public static String[] removeValue(String[] array, String valueToRemove) { * @return array of Strings with consecutive duplicates removes */ // TODO public static String[] removeConsecutiveDuplicates(String[] array) { - return null; + ArrayList arrayListed = new ArrayList(Arrays.asList(array)); + for (int i = 0; i < arrayListed.size()-1; i++) { + if (arrayListed.get(i) == arrayListed.get(i + 1)) { + arrayListed.remove(i + 1); + } + } + String[] ans = arrayListed.toArray(new String[0]); + return ans; } /** @@ -105,7 +142,15 @@ public static String[] removeConsecutiveDuplicates(String[] array) { * @return array of Strings with each consecutive duplicate occurrence concatenated as a single string in an array of Strings */ // TODO public static String[] packConsecutiveDuplicates(String[] array) { - return null; + ArrayList arrayListed = new ArrayList(Arrays.asList(array)); + for (int i = 0; i < arrayListed.size()-1; i++) { + if (arrayListed.get(i) == arrayListed.get(i + 1)) { + arrayListed.set(i, arrayListed.get(i)+arrayListed.get(i+1)); + arrayListed.remove(i + 1); + } + } + String[] ans = arrayListed.toArray(new String[0]); + return ans; } From 599eeb3e01f9c6b897b030fc140ac7f85f3a9d34 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Mon, 28 Oct 2019 06:56:37 -0400 Subject: [PATCH 3/3] completed --- .../zipcodewilmington/StringArrayUtils.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/StringArrayUtils.java b/src/main/java/com/zipcodewilmington/StringArrayUtils.java index bbf265c..1738b9f 100644 --- a/src/main/java/com/zipcodewilmington/StringArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/StringArrayUtils.java @@ -128,12 +128,17 @@ public static String[] removeValue(String[] array, String valueToRemove) { */ // TODO public static String[] removeConsecutiveDuplicates(String[] array) { ArrayList arrayListed = new ArrayList(Arrays.asList(array)); + //System.out.println(array); + //System.out.println(arrayListed); for (int i = 0; i < arrayListed.size()-1; i++) { if (arrayListed.get(i) == arrayListed.get(i + 1)) { arrayListed.remove(i + 1); + i--; } } + // System.out.println(arrayListed); String[] ans = arrayListed.toArray(new String[0]); + //System.out.println(ans); return ans; } @@ -142,14 +147,15 @@ public static String[] removeConsecutiveDuplicates(String[] array) { * @return array of Strings with each consecutive duplicate occurrence concatenated as a single string in an array of Strings */ // TODO public static String[] packConsecutiveDuplicates(String[] array) { - ArrayList arrayListed = new ArrayList(Arrays.asList(array)); - for (int i = 0; i < arrayListed.size()-1; i++) { - if (arrayListed.get(i) == arrayListed.get(i + 1)) { - arrayListed.set(i, arrayListed.get(i)+arrayListed.get(i+1)); - arrayListed.remove(i + 1); + String joinerLucas = array[0]; + for (int i = 1; i < array.length; i++){ + if (array[i]==array[i-1]){ + joinerLucas += array[i]; + } else { + joinerLucas = joinerLucas + "%%%" + array[i]; } } - String[] ans = arrayListed.toArray(new String[0]); + String[] ans = joinerLucas.split("%%%"); return ans; }