diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java index ef714b5..a824f97 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java @@ -9,7 +9,8 @@ public class BasicArrayUtils { * @return the first element in the array */ public static String getFirstElement(String[] stringArray) { - return null; + return stringArray[0]; +// return null; } /** @@ -17,7 +18,8 @@ public static String getFirstElement(String[] stringArray) { * @return the second element in the array */ public static String getSecondElement(String[] stringArray) { - return null; + return stringArray[1]; +// return null; } /** @@ -25,7 +27,8 @@ public static String getSecondElement(String[] stringArray) { * @return the last element in the array */ public static String getLastElement(String[] stringArray) { - return null; + return stringArray[stringArray.length -1]; +// return null; } /** @@ -33,6 +36,7 @@ public static String getLastElement(String[] stringArray) { * @return the second to last element in the array */ public static String getSecondToLastElement(String[] stringArray) { - return null; + return stringArray[stringArray.length -2]; +// return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java index ca13f2d..c6c3d08 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java @@ -1,5 +1,7 @@ package com.zipcodewilmington.assessment1.part1; +import com.zipcodewilmington.assessment1.part2.StringUtils; + /** * Created by leon on 2/16/18. */ @@ -9,7 +11,9 @@ public class BasicStringUtils { * @return string with identical content, and the first character capitalized */ public static String camelCase(String str) { - return null; + String result = str.substring(0, 1).toUpperCase() + str.substring(1); + return result; +// return null; } /** @@ -17,7 +21,9 @@ public static String camelCase(String str) { * @return string with identical contents, in the reverse order */ public static String reverse(String str) { - return null; + String result = new StringBuilder(str).reverse().toString(); + return result; +// return null; } /** @@ -25,7 +31,10 @@ public static String reverse(String str) { * @return string with identical contents, in reverse order, with first character capitalized */ public static String reverseThenCamelCase(String str) { - return null; + String reverse = new StringBuilder(str).reverse().toString(); + String result = reverse.substring(0, 1).toUpperCase() + reverse.substring(1); + return result; +// return null; } @@ -34,7 +43,9 @@ public static String reverseThenCamelCase(String str) { * @return string with identical contents excluding first and last character */ public static String removeFirstAndLastCharacter(String str) { - return null; + String answer = str.substring(1, str.length()-1); + return answer; +// return null; } /** @@ -42,6 +53,25 @@ public static String removeFirstAndLastCharacter(String str) { * @return string with identical characters, each with opposite casing */ public static String invertCasing(String str) { - return null; + char[] chars = str.toCharArray(); + for (int i = 0; i < chars.length; i++){ + char c = chars[i]; + if (Character.isUpperCase(c)){ + chars[i] = Character.toLowerCase(c); + }else if (Character.isLowerCase(c)){ + chars[i] = Character.toUpperCase(c); + } + } + return new String(chars); + +// int length = str.length(); +// +// for (int i = 0; i < length; i++){ +// Character c = str.charAt(i); +// if (Character.isLowerCase(c)) +// str.replace(i, i + 1, Character.toUpperCase(c) + ""); +// else +// } +// return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java index 68d82ec..ae93140 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.assessment1.part1; +import java.util.Arrays; +import java.util.stream.IntStream; + /** * Created by leon on 2/16/18. */ @@ -9,7 +12,11 @@ public class IntegerArrayUtils { * @return the sum of `intArray` */ public static Integer getSum(Integer[] intArray) { - return null; + int sum = 0; + for (int i = 0; i < intArray.length; i++) + sum = sum + intArray[i]; + return sum; +// return null; } /** @@ -17,7 +24,11 @@ public static Integer getSum(Integer[] intArray) { * @return the product of `intArray` */ public static Integer getProduct(Integer[] intArray) { - return null; + int product = 1; + for (int i : intArray) + product *= i; + return product; +// return null; } /** @@ -25,6 +36,11 @@ public static Integer getProduct(Integer[] intArray) { * @return the sum of `intArray` divided by number of elements in `intArray` */ public static Double getAverage(Integer[] intArray) { - return null; + int sum = 0; + for (int num : intArray){ + sum += num; + } + return (double) sum/intArray.length; +// return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java index eccbb6c..025a12d 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java @@ -11,7 +11,9 @@ public class IntegerUtils { * @return the sum of all integers between 0 and not including `n` */ public static Integer getSumOfN(Integer n) { - return null; + int sum = n * (n + 1)/2; + return sum; +// return null; } /** @@ -19,7 +21,11 @@ public static Integer getSumOfN(Integer n) { * @return the product of all integers between 0 and not including `n` */ public static Integer getProductOfN(Integer n) { - return null; + int result = 1; + for (int i = 2; i <= n; i++) + result = result * i; + return result; +// return null; } /** @@ -27,6 +33,8 @@ public static Integer getProductOfN(Integer n) { * @return integer with identical digits in the reverse order */ public static Integer reverseDigits(Integer val) { - return null; + String reverse = new StringBuilder(String.valueOf(val)).reverse().toString(); + return Integer.parseInt(reverse); +// return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java index 9495445..2a2bbd7 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java @@ -13,16 +13,27 @@ public class RockPaperSissorsEvaluator { * @return the respective winning move */ public String getWinningMove(String handSign) { - return null; - } + if (handSign == ROCK){ + return PAPER; + }else if (handSign == PAPER){ + return SCISSOR; + }else return ROCK; + } + /** * @param handSign a string representative of a hand sign * @return the respective losing move */ public String getLosingMove(String handSign) { - return null; + if (handSign == ROCK){ + return SCISSOR; + }else if (handSign == PAPER){ + return ROCK; + }else return PAPER; } +// return null; + /** * @param handSignOfPlayer1 a string representative of a hand sign of a player @@ -30,6 +41,7 @@ public String getLosingMove(String handSign) { * @return a string representative of the winning hand sign between the two players */ public String getWinner(String handSignOfPlayer1, String handSignOfPlayer2) { + return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java index bb9995a..486b484 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java @@ -1,5 +1,9 @@ package com.zipcodewilmington.assessment1.part2; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Created by leon on 2/16/18. */ @@ -11,7 +15,14 @@ public class ArrayUtils { * Given an array of objects, named `objectArray`, and an object `objectToCount`, return the number of times the `objectToCount` appears in the `objectArray` */ public static Integer getNumberOfOccurrences(Object[] objectArray, Object objectToCount) { - return null; + int numOfOcc = 0; + for (int i = 0; i < objectArray.length; i++) { + if (objectToCount == objectArray[i]) { + numOfOcc++; + } + } + return numOfOcc; +// return null; } /** @@ -21,7 +32,12 @@ public static Integer getNumberOfOccurrences(Object[] objectArray, Object object * Given an array of objects, name `objectArray`, and an object `objectToRemove`, return an array of objects with identical contents excluding `objectToRemove` */ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) { - return null; + int i, j; + for (i = j = 0; j < objectArray.length; j++) + if (!objectToRemove.equals(objectArray[j])) objectArray[i++] = objectArray[j]; + objectArray = Arrays.copyOf(objectArray, i); + return objectArray; +// return null; } /** @@ -30,7 +46,23 @@ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) * given an array of objects, named `objectArray` return the most frequently occuring object in the array */ public static Object getMostCommon(Object[] objectArray) { - return null; + int a = 1, tempCount; + Object common = objectArray[0]; + int b = 0; + for (int i = 0; i < objectArray.length; i++) { + b = (int) objectArray[i]; + tempCount = 0; + for (int j = 1; j < objectArray.length; j++) { + if (b == (int) objectArray[j]) + tempCount++; + } + if (tempCount > a) { + common = b; + a = tempCount; + } + } + return common; +// return null; } @@ -40,6 +72,7 @@ public static Object getMostCommon(Object[] objectArray) { * given an array of objects, named `objectArray` return the least frequently occuring object in the array */ public static Object getLeastCommon(Object[] objectArray) { + return null; } @@ -50,6 +83,17 @@ public static Object getLeastCommon(Object[] objectArray) { * given two arrays `objectArray` and `objectArrayToAdd`, return an array containing all elements in `objectArray` and `objectArrayToAdd` */ public static Object[] mergeArrays(Object[] objectArray, Object[] objectArrayToAdd) { + Object[] newArray = new Object[objectArray.length + objectArrayToAdd.length]; + int i = 0; + + for (Object each : objectArray) { + newArray[i++] = each; + } + for (Object each : objectArrayToAdd) { + newArray[i++] = each; + } + return null; } } + diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java index a348b0d..160de88 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java @@ -1,5 +1,7 @@ package com.zipcodewilmington.assessment1.part2; +import java.util.Arrays; + /** * Created by leon on 2/16/18. */ @@ -10,6 +12,7 @@ public class MultiplesDeleter { * given an array of integers, named `ints` return an identical array with evens removed */ public Integer[] deleteEvens(Integer[] ints) { + return null; } @@ -19,7 +22,24 @@ public Integer[] deleteEvens(Integer[] ints) { * given an array of integers, named `ints` return an identical array with odds removed */ public Integer[] deleteOdds(Integer[] ints) { + int countEven = 0; + int even[]= null; + + for (int i : ints){ + if (i % 2 == 0); + ++countEven; + } + + even = new int[countEven]; + + int i = 0; + for(int num : ints){ + if (num % 2 == 0){ + even[i++] = num; + } + } return null; +// return null; } /** diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java index fc403e5..929d8d8 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java @@ -11,7 +11,8 @@ public class StringUtils { * given a string containing words delimited by spaces, representative of a sentence, return an array of strings, each element representative of a respective word in the sentence */ public static String[] getWords(String sentence) { - return null; + String[] words = sentence.split("\\W+"); + return words; } @@ -21,7 +22,9 @@ public static String[] getWords(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word of the sentence */ public static String getFirstWord(String sentence) { - return null; + String[] words = sentence.split("\\W+"); + return words[0]; +// return null; } /** @@ -30,7 +33,11 @@ public static String getFirstWord(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order */ public static String reverseFirstWord(String sentence) { - return null; + String[] words = sentence.split("\\W+"); + String first = words[0]; + String result = new StringBuilder(first).reverse().toString(); + return result; +// return null; } /** @@ -39,7 +46,12 @@ public static String reverseFirstWord(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order with the first character capitalized */ public static String reverseFirstWordThenCamelCase(String sentence) { - return null; + String[] words = sentence.split("\\W+"); + String first = words[0]; + String result = new StringBuilder(first).reverse().toString(); + String answer = result.substring(0, 1).toUpperCase() + result.substring(1); + return answer; +// return null; } @@ -50,7 +62,11 @@ public static String reverseFirstWordThenCamelCase(String sentence) { * given a string and index, return an identical string excluding the character at the specified index */ public static String removeCharacterAtIndex(String str, int index) { - return null; + String result = str.substring(0, index) + str.substring(index + 1); +// String replace = String.valueOf(index); +// String result = str.replace(replace, ""); + return result; +// return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java index 658bb25..eeb20a8 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java @@ -5,4 +5,7 @@ */ public interface Animal { String speak(); + int age(); + String name(); + String owner(); } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java index e731b77..b5a3b17 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java @@ -8,7 +8,8 @@ public class Cat extends Pet { * @param name name of this Cat * @param age age of this Cat */ - public Cat(String name, Integer age) { + public Cat(String name, int age) { + super(name, age); } @@ -16,12 +17,15 @@ public Cat(String name, Integer age) { * @param age age of this Cat */ public Cat(Integer age) { + super(null, age); } /** * @param name name of this Cat */ public Cat(String name) { + super(name, 0); + } @@ -32,12 +36,28 @@ public Cat(String name) { * age is 0 */ public Cat() { + Cat cat = new Cat("Jim", 7); } /** * @return meow as a string */ public String speak() { - return null; + return "Meow"; + } + + @Override + public int age() { + return this.getAge(); + } + + @Override + public String name() { + return this.getName(); + } + + @Override + public String owner() { + return owner(); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java index 0c775fd..dce3ed5 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java @@ -9,20 +9,21 @@ public class Dog extends Pet { * @param age age of this dog */ public Dog(String name, Integer age) { - + super(name, age); } /** * @param age age of this dog */ public Dog(Integer age) { + super("Dog Name", age); } /** * @param name name of this dog */ public Dog(String name) { - + super(name, 0); } /** @@ -32,12 +33,29 @@ public Dog(String name) { * age is 0 */ public Dog() { + super("Dog Name", 0); } /** * @return bark as a string */ public String speak() { + + return "Bark"; + } + + @Override + public int age() { + return this.getAge(); + } + + @Override + public String name() { + return this.getName(); + } + + @Override + public String owner() { return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java index 3c925da..43bc24c 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java @@ -4,17 +4,28 @@ * Created by leon on 2/16/18. */ public abstract class Pet implements Animal { + private String name; + private Integer age; + private String owner; /** * nullary constructor * by default, pet has age of 0; name of ""; */ - public Pet() { + public Pet(String name, int age, String owner) { + this.name = name; + this.age = age; + this.owner = owner(); + } /** * @param name name of this pet */ - public Pet(String name) { + public Pet() { + this.name = ""; + this.age = age; + this.owner = null; + } @@ -22,6 +33,9 @@ public Pet(String name) { * @param age age of this pet */ public Pet(int age) { + this.name = ""; + this.age = age; + this.owner = null; } /** @@ -29,20 +43,23 @@ public Pet(int age) { * @param age age of this pet */ public Pet(String name, int age) { + this.name = name; + this.age = age; + this.owner = ""; } /** * @return name of this pet */ public String getName() { - return null; + return this.name; } /** * @return age of this pet */ public Integer getAge() { - return null; + return this.age; } /** @@ -50,12 +67,13 @@ public Integer getAge() { * ensure this instance of `Pet` is added to the owner's composite `pets` list */ public void setOwner(PetOwner newPetOwner) { + PetOwner owner = new PetOwner(""); } /** * @return PetOwner object whose composite `pets` collection contains this Pet instance */ public PetOwner getOwner() { - return null; + return this.getOwner(); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index 7bbf2ab..70b2a77 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -15,6 +15,9 @@ public PetOwner(String name, Pet... pets) { * @param pet pet to be added to the composite collection of Pets */ public void addPet(Pet pet) { + Cat cat = new Cat("Jim", 2); + Dog dog = new Dog("George", 1); + } /** @@ -68,6 +71,7 @@ public Integer getNumberOfPets() { * @return the name property of the Pet */ public String getName() { + return null; } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java index f881e9c..05ddb3a 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java @@ -6,6 +6,16 @@ public class Jumper { * Complete the function below. */ public int jumps(int k, int j) { - return -1; + +// int jumps= k / j; +// int jums =+ k % j; +// return jumps; + + int numOfJumps = k / j; + int heightRemaining = k % j; + + if (heightRemaining > 0){ + return numOfJumps +1; + }else return numOfJumps; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java index 89e2016..6c1ff87 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java @@ -2,7 +2,32 @@ public class Palindrome { - public Integer countPalindromes(String input){ - return null; + public Integer countPalindromes(String input) { + int n = input.length(); + boolean[][] dp = new boolean[n][n]; + int count = 0; + + for (int i = 0; i < n; i++) { + dp[i][i] = true; + count++; + } + for (int i = 0; i < n - 1; i++) { + if (input.charAt(i) == input.charAt(i + 1)) { + dp[i][i + 1] = true; + count++; + } + } + for (int len = 3; len <= n; len++) { + for (int i = 0; i <= n - len; i++) { + int j = i + len - 1; + if (input.charAt(i) == input.charAt(j) && dp[i + 1][j - 1]) { + dp[i][j] = true; + count++; + } + } + } + return count; } } +// return null; +