diff --git a/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java b/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java index ee550c5..61f8b7f 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java @@ -1,8 +1,60 @@ package com.zipcodewilmington.looplabs; - +import java.util.Arrays; /** * Created by leon on 1/29/18. * @ATTENTION_TO_STUDENTS You are forbidden from modifying the signature of this class. */ public final class IntegerDuplicateDeleter extends DuplicateDeleter { -} + + public IntegerDuplicateDeleter(Integer[] intArray) { + super(intArray); + } + + @Override + public Integer[] removeDuplicatesExactly(int exactNumberOfDuplications) { + + Integer[] finalArray = new Integer[0]; + + for (int i = 0; i < this.array.length; i++) { + if (getNumberOfOccurences(this.array, this.array[i]) != exactNumberOfDuplications) { + + int actualElements = finalArray.length; + finalArray = Arrays.copyOf(finalArray, finalArray.length + 1); + finalArray[actualElements] = this.array[i]; + } + } +return finalArray; + + } + + + public static int getNumberOfOccurences(Integer[] inputArray, Integer value) { + int numOccurences = 0; + + for (int arrayElement : inputArray) { + if (arrayElement == value) { + numOccurences++; + } + + } + return numOccurences; + } + + + @Override + public Integer[] removeDuplicates(int maxNumberOfDuplications) { + Integer[] actualArray = new Integer[0]; + + for (int i = 0; i < this.array.length; i++) { + + if (getNumberOfOccurences(this.array, this.array[i]) < maxNumberOfDuplications) { + + int arrayElements = actualArray.length; + actualArray = Arrays.copyOf(actualArray, actualArray.length + 1); + actualArray[arrayElements] = this.array[i]; + } + } + return actualArray; + } + +} \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java index 4818fe3..4c007d5 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java @@ -1,8 +1,67 @@ package com.zipcodewilmington.looplabs; +import java.util.Arrays; /** * Created by leon on 1/28/18. * @ATTENTION_TO_STUDENTS You are forbidden from modifying the signature of this class. */ public final class StringDuplicateDeleter extends DuplicateDeleter { -} + + public StringDuplicateDeleter(String[] intArray) { + super(intArray); + } + + + + + + @Override + public String[] removeDuplicatesExactly(int exactNumberOfDuplications){ + + String[] noStringDupsArray = new String[0]; + + for (int i = 0; i