-
Objective
- To write methods which remove duplicate elements from an array.
-
Purpose
- To demonstrate practical understanding of arrays, loops, and basic composition.
-
Instructions
- Given an object,
IntegerDuplicateDeleter, with a compositeInteger[]object, write a methodremoveDuplicatesExactlywhich removes all values in the array which occur exactly the specified number of times.removeDuplicateswhich removes all values in the array which occur at least the specified number of times.
- Given an object,
StringDuplicateDeleter, with a compositeString[]object, write a methodremoveDuplicatesExactlywhich removes all values in the array which occur exactly the specified number of times.removeDuplicateswhich removes all values in the array which occur at least the specified number of times.
- Given an object,
-
Restrictions
- No use of any built-in data structures, (
Collection,List,Map) - Operations should be idempotent
- If the input is the same, then the outputs of the methods should always be the same, regardless of how many times the method is called.
- No use of any built-in data structures, (
-
Sample Script
// : Given Integer[] array = new Integer[]{1,1,1,23,23,56,57,58}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); // : When Integer[] actual = deleter.removeDuplicateExactly(3); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[23,23,56,57,58]
-
Sample Script
// : Given Integer[] array = new Integer[]{1,1,1,23,23,56,57,58}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); // : When Integer[] actual = deleter.removeDuplicateExactly(1); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[1,1,1,23,23]
-
Sample Script
// : Given Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); // : When Integer[] actual = deleter.removeDuplicateExactly(3); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[1, 1, 2, 4, 4, 5, 5, 5, 5]
-
Sample Script
// : Given Integer[] array = new Integer[]{1,1,1,23,23,56,57,58}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); // : When Integer[] actual = deleter.removeDuplicateExactly(1); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[]
-
Sample Script
// : Given Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); // : When Integer[] actual = deleter.removeDuplicates(2); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[2]
-
Sample Script
// : Given Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); // : When Integer[] actual = deleter.removeDuplicates(3); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[1,1,2,4,4]
-
Sample Script
// : Given Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); deleter.removeDuplicates(0); deleter.removeDuplicates(1); deleter.removeDuplicates(2); // : When Integer[] actual = deleter.removeDuplicates(3); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[1,1,2,4,4]
-
Sample Script
// : Given Integer[] array = new Integer[]{1,1,1,23,23,56,57,58}; DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array); deleter.removeDuplicates(0); deleter.removeDuplicates(1); deleter.removeDuplicates(2); // : When Integer[] actual = deleter.removeDuplicatesExactly(3); // : Then System.out.println(Arrays.toString(actual)); -
Sample Output
[23,23,56,57,58]