-
Recent Posts
Recent Comments
Archives
Categories
Meta
Tag Archives: algorithms
C++ Lambda Expressions
Here are some whiteboard notes I created on c++ lambda expressions. I should create a digital/html version of this reference.
Leetcode 50: Pow(x, n)
This problem solution relies on binary exponentiation. The key insight is that 2^10 = 2^5 * 2^52^5 = 2^2 * 2^2 * 2So we can base our solution on recursively solving pow(x, n/2) and multiplying it by itself to get … Continue reading
Leetcode 49: Group Anagrams
Use a hash map with key being the sorted word and value being a vector of strings of all instances of that anagram. Iterate through input array, filling the hash map. Then iterate through the hash map adding the map … Continue reading
Leetcode 48: Rotate Image
The idea with my solution is that you work your way through layers of the box, starting with the outside layer and then moving inwards. For each layer we step through four points at a time, starting at the corners … Continue reading
Leetcode 46: Permutations
The obvious way to solve this is to repeatedly call next_permutation() from the standard library. Another way to solve it is to implement what next_permutation() does and I have done that in a previous solution:https://www.adamk.org/leetcode-31-next-permutation/ Here is my recursive solution … Continue reading
Leetcode 44: Wildcard Matching
The obvious solution is to use a recursive function. If we find a wildcard then we recurse every position in s from that point onwards. The problem with this is that it is very slow if there are a lot … Continue reading
Leetcode 43: Multiply Strings
The general steps to do long multiplication are fairly straightforward but the implementation was a bit fiddly. I think it would be easier to to reverse the strings and work on them in reverse, then the least significant index will … Continue reading
Leetcode 42: Trapping Rain Water
This is a tricky leetcode problem. There are a few observations that need to be made. Water traps between two bars and only fills each of those gaps to a volume that is the gap’s height taken away from the … Continue reading
Leetcode 41: First Missing Positive
There are a few different ways to solve this including some ways that destroy some of the (out of bounds) values. My favoured solution keeps all the values but just rearranges them. I iterate through all the numbers and at … Continue reading
Leetcode 39: Combination Sum
This is a problem that fits naturally to a recursive solution. I’m not sure how I’d implement without recursion. The recursion automatically does a backtrack to find valid solutions. By starting the search for sub-items from the current item and … Continue reading