-
Notifications
You must be signed in to change notification settings - Fork 41
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
Space - Nora #25
base: master
Are you sure you want to change the base?
Space - Nora #25
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 Nora, you hit the learning goals here. Check out my small comments on time complexity. Well done.
# Time Complexity: O(n^2) or O(m * n) where m is the number of words and n is the characters | ||
# Space Complexity: O(n) where n is the number of words in the array | ||
|
||
def grouped_anagrams(strings) |
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.
You are right that it's O(nm) which isn't O(n^2) unless n and m are the same. On the other hand if the words are all relatively small (like English words, you can call this O(n).
# in the case of a tie it will select the first occurring element. | ||
# Time Complexity: O (n log n) due to sort_by / quick sort - best case. Worst case is O(n^2) if the data is already ordered | ||
# Space Complexity: O(n) | ||
def top_k_frequent_elements(list, k) |
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.
👍 , although since Ruby uses MergeSort, this is always O(n log n)
Hash Table Practice
Congratulations! You're submitting your assignment!
Comprehension Questions