Conversation
CheezItMan
left a comment
There was a problem hiding this comment.
Overall nice work, you hit the learning goals here. Well done. Check my comments below especially with regard to time/space complexity. Let me know if you have questions.
| # Space complexity: ? | ||
| # Time complexity: O(n) | ||
| # Space complexity: O(n) | ||
| def factorial(n) |
| temp_char = s[0] | ||
| s[0] = s[-1] | ||
| s[-1] = temp_char | ||
| return s[0] + reverse(s[1...-1]) + s[-1] |
There was a problem hiding this comment.
s[1..-1] creates a new array and copies all the individual elements over and so is O(n) by itself.
|
|
||
| # Time complexity: O(n/2) >> O(n) | ||
| # Space complexity: O(n) | ||
| def reverse(s) |
There was a problem hiding this comment.
👍
This works, but because you create a new array with each recursive call this is O(n2) for both time/space complexity.
| # Space complexity: ? | ||
| # Time complexity: O(n/2) >> O(n) | ||
| # Space complexity: O(n) | ||
| def reverse_inplace(s) |
There was a problem hiding this comment.
- This is not in place.
- This has similar time/space complexity to the above reverse... as in the exact same.
| # Space complexity: ? | ||
| # Time complexity: O(n) | ||
| # Space complexity: O(n) | ||
| def bunny(n) |
| # Space complexity: ? | ||
| # Time complexity: O(n) | ||
| # Space complexity: O(n) | ||
| def nested(s) |
There was a problem hiding this comment.
👍 This works, but you have similar time/space issues with the above methods.
| # Space complexity: ? | ||
| # Time complexity: O(n) - worst case | ||
| # Space complexity: O(n) - worst case | ||
| def search(array, value) |
There was a problem hiding this comment.
👍 This works, but you have similar time/space issues with the above methods.
| # Space complexity: ? | ||
| # Time complexity: O(n/2) => O(n) | ||
| # Space complexity: O(n/2) => O(n) | ||
| def is_palindrome(s) |
There was a problem hiding this comment.
👍 This works, but you have similar time/space issues with the above methods.
| # Space complexity: ? | ||
| # Time complexity: O(n) n is the length of the shortest array | ||
| # Space complexity: O(n) | ||
| def digit_match(n, m) |
No description provided.