Conversation
CheezItMan
left a comment
There was a problem hiding this comment.
Not bad, you have some effective recursive methods. They could be more efficient (see my notes on reverse in place for a hint as to how), and you were off on the Big-O, but a good 1st attempt at recursive methods.
|
|
||
| # Time complexity: ? | ||
| # Space complexity: ? | ||
| # Time complexity: O(n) |
There was a problem hiding this comment.
This is actually O(n^2) due tot he fact that s[0..-1] creates a new string of length n-1
| # Space complexity: ? | ||
| # Time complexity: O(n) | ||
| # Space complexity: O(n) | ||
| def bunny(n) |
|
|
||
| # Time complexity: ? | ||
| # Space complexity: ? | ||
| # Time complexity: O(n)? |
There was a problem hiding this comment.
O(n^2) for both space and time, see above.
| # I am not sure how to approach this!! | ||
| # Time complexity: ? | ||
| # Space complexity: ? | ||
| def reverse_inplace(s) |
There was a problem hiding this comment.
For reverse in place think about making a helper which takes the string, a left index and right index. The base case is when left_index >= right_index Each recursive call you swap the characters at left_index or right_index and then make a recursive call with the string, and left_index + 1 and right_index -1.
|
|
||
| # Time complexity: ? | ||
| # Space complexity: ? | ||
| # Time complexity: O(n) |
| # Space complexity: ? | ||
| # Time complexity: O(n) | ||
| # Space complexity: O(n) | ||
| def is_palindrome(s) |
I am still unsure of time and space complexity for my solutions!