-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gloria Scissors #42
base: master
Are you sure you want to change the base?
Gloria Scissors #42
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work Gloria, you hit the main learning goals here. Take a look at my comments concerning time/space complexity.
def grouped_anagrams(strings): | ||
""" This method will return an array of arrays. | ||
Each subarray will have strings which are anagrams of each other | ||
Time Complexity: ? | ||
Space Complexity: ? | ||
""" | ||
pass | ||
|
||
Time Complexity: O(n) checking each word | ||
Space Complexity: O(n) at worse case might have to create a node | ||
""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 , The time complexity is O(n) assuming the words are of limited length like real English words (no word is longer than so many characters) Otherwise it would be O(nm) where m is the word length.
|
||
# Time and Space O(n) might need to append all the values | ||
my_sorted_list = sorted(frequent_elements.values(),reverse=True) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you're sorting here that would be O(n log n)
if value in numbers: | ||
k_list.append(key) | ||
#after you matchremove from numbers so it doesn't match twice | ||
numbers.remove(value) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that removing a value from an array is an O(n) operation and this is in a loop...
def top_k_frequent_elements(nums, k): | ||
""" This method will return the k most common elements | ||
In the case of a tie it will select the first occuring element. | ||
Time Complexity: ? | ||
Space Complexity: ? | ||
Time Complexity: O(nlogn) | ||
Space Complexity: O(logn) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 This works, but see my notes on time/space complexity.
Hash Table Practice
Congratulations! You're submitting your assignment!
Comprehension Questions