Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 26 additions & 16 deletions src/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
public class Main {

// The time complexity is:
// YOUR ANSWER HERE
// O(n^2)
public static void timesTable(int x) {
for(int i = 1; i <= x; i++) {
for(int j = 1; j <= x; j++) {
Expand All @@ -17,7 +17,7 @@ public static void timesTable(int x) {
}

// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static void printLetters(String word) {
char[] letters = word.toCharArray();

Expand All @@ -27,7 +27,7 @@ public static void printLetters(String word) {
}

// The time complexity is:
// YOUR ANSWER HERE
// O(1)
public static boolean isBanned(String password) {
String[] bannedPasswords = {"password", "hello", "qwerty"};
boolean banned = false;
Expand All @@ -41,7 +41,7 @@ public static boolean isBanned(String password) {


// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static int computeProduct(int[] nums) {
int total = 1;
for(int num : nums) {
Expand All @@ -51,7 +51,7 @@ public static int computeProduct(int[] nums) {
}

// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static void describeProduct(int[] nums) {
System.out.println("About to compute the product of the array...");
int product = computeProduct(nums);
Expand All @@ -60,7 +60,7 @@ public static void describeProduct(int[] nums) {


// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static int computeFactorial(int n) {
int result = 1;
for(int i = 1; i <= n; i++) {
Expand All @@ -80,7 +80,7 @@ public static void computeAllFactorials(int[] nums) {


// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static void checkIfContainedArrayList(ArrayList<String> arr, String target) {
if (arr.contains(target)) {
System.out.println(target + " is present in the list");
Expand All @@ -92,7 +92,7 @@ public static void checkIfContainedArrayList(ArrayList<String> arr, String targe

// assume n = wordsA.length = wordsB.length
// The time complexity is:
// YOUR ANSWER HERE
// O(n^2)
public static boolean containsOverlap(String[] wordsA, String[] wordsB) {
for(String wordA : wordsA) {
for(String wordB : wordsB) {
Expand All @@ -105,7 +105,7 @@ public static boolean containsOverlap(String[] wordsA, String[] wordsB) {
}

// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static boolean containsOverlap2(String[] wordsA, String[] wordsB) {
Set<String> wordsSet = new HashSet<>();
for(String word : wordsA) {
Expand All @@ -122,20 +122,20 @@ public static boolean containsOverlap2(String[] wordsA, String[] wordsB) {
}

// The time complexity is:
// YOUR ANSWER HERE
// O(n)
public static void printCharacters(char[] chars) {
for (int i = 0; i < chars.length; i++) {
char character = chars[i];
System.out.println("The character at index " + i + " is " + character);
}
}
// The time complexity is:
// YOUR ANSWER HERE
// O(1)
public static double computeAverage(double a, double b) {
return (a + b) / 2.0;
}
// The time complexity is:
// YOUR ANSWER HERE
// O(1)
public static void checkIfContainedHashSet(HashSet<String> set, String target)
{
if (set.contains(target)) {
Expand All @@ -150,7 +150,7 @@ public static void checkIfContainedHashSet(HashSet<String> set, String target)
// A queryName is given, and this method returns the corresponding email if it is found
// Otherwise, it returns "Person not found"
// What is the time complexity of this method?
// YOUR ANSWER HERE
// O(n)
public static String emailLookup(String[] names, String[] emails, String queryName) {
for(int i = 0; i < names.length; i++) {
if (names[i].equals(queryName)) {
Expand All @@ -165,14 +165,18 @@ public static String emailLookup(String[] names, String[] emails, String queryNa
// keys are names and the values are emails.
// Write this method to efficiently return the corresponding email or "Person not found" if appropriate
// What is the time complexity of your solution?
// YOUR ANSWER HERE
// O(1)
public static String emailLookupEfficient(HashMap<String, String> namesToEmails, String queryName) {
return null;
if (namesToEmails.containsKey(queryName)) {
return namesToEmails.get(queryName);
} else {
return "Person not found";
}
}

// What is the time complexity of this method?
// (assume the set and list have the same number of elements)
// YOUR ANSWER HERE
// O(n^2)
public static boolean hasCommon(HashSet<String> wordSet, ArrayList<String> wordList) {
for(String word : wordSet) {
if(wordList.contains(word)) {
Expand All @@ -186,6 +190,12 @@ public static boolean hasCommon(HashSet<String> wordSet, ArrayList<String> wordL
// What is the time complexity of your new solution?
// YOUR ANSWER HERE
public static boolean hasCommonEfficient(HashSet<String> wordSet, ArrayList<String> wordList) {
HashSet<String> wordListSet = new HashSet<>(wordList);
for (String word : wordSet) {
if (wordListSet.contains(word)) {
return true;
}
}
return false;
}

Expand Down