From dbb28afa20308d0845cadfe5fc0fb5c34bb0288e Mon Sep 17 00:00:00 2001 From: jorge Date: Sun, 4 Apr 2021 12:47:14 -0400 Subject: [PATCH 1/2] all but removeValue pass --- .../arrayutility/ArrayUtility.java | 58 ++++++++++++++++++- .../arrayutility/RemoveValueTest.java | 2 - 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index ca32e28..4b1b0ba 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,7 +1,63 @@ package com.zipcodewilmington.arrayutility; +import org.omg.CORBA.Object; + /** * Created by leon on 3/6/18. */ -public class ArrayUtility { +public class ArrayUtility { + + T[] inputArray; + + public ArrayUtility(T[] array){ + this.inputArray = array; + } + + public Integer countDuplicatesInMerge(T[] arrayToMerge, T valueToEvaluate) { + Integer counter = getNumberOfOccurrences(valueToEvaluate); + for(T t: arrayToMerge){ + if(t == valueToEvaluate){ counter++; } + } return counter; + } + + public T getMostCommonFromMerge(T[] arrayToMerge) { + T mostOccuring = null, temp; + int counter = 0, holder = 0; + for(int i = 0; i < arrayToMerge.length; i++ ){ + temp = arrayToMerge[i]; + for(int j = 0; j < arrayToMerge.length; j++){ + if(temp.equals(arrayToMerge[j])){ + counter++; + } + } + if(counter > holder){ + holder = counter; + mostOccuring = arrayToMerge[i]; + } + counter = 0; + } + return mostOccuring; + } + + public Integer getNumberOfOccurrences(T valueToEvaluate) { + Integer counter = 0; + for(T t: inputArray){ + if(t == valueToEvaluate){ + counter++; + } + } + return counter; + } + + public T[] removeValue(T valueToRemove) { + Integer occurs = getNumberOfOccurrences(valueToRemove); + T[] newT = (T[]) new Object[inputArray.length - occurs]; + int j = 0; + for(T t: inputArray){ + if(t != valueToRemove){ + newT[j] = t; + j++; + } + } return newT; + } } diff --git a/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java b/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java index d464896..631a00d 100644 --- a/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java +++ b/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java @@ -1,6 +1,4 @@ package com.zipcodewilmington.arrayutility; - -import com.zipcodewilmington.UnitTestingUtils; import org.junit.Test; /** From 3dfb708c9d437298dab885a2801144a43c0ed203 Mon Sep 17 00:00:00 2001 From: jorge Date: Sun, 4 Apr 2021 13:06:20 -0400 Subject: [PATCH 2/2] all pass --- .../com/zipcodewilmington/arrayutility/ArrayUtility.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index 4b1b0ba..1928239 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -2,6 +2,8 @@ import org.omg.CORBA.Object; +import java.util.Arrays; + /** * Created by leon on 3/6/18. */ @@ -50,8 +52,8 @@ public Integer getNumberOfOccurrences(T valueToEvaluate) { } public T[] removeValue(T valueToRemove) { - Integer occurs = getNumberOfOccurrences(valueToRemove); - T[] newT = (T[]) new Object[inputArray.length - occurs]; + Integer occurs = inputArray.length - getNumberOfOccurrences(valueToRemove); + T[] newT = Arrays.copyOf(inputArray,occurs); int j = 0; for(T t: inputArray){ if(t != valueToRemove){