This is the third blog post explaining how to tackle dynamic programming. Part 1 deals with the recursive solution. Part 2 uses memoization to decrease the time complexity. This final part will use tabulation to make the code cleaner and even faster. Continue reading
Category: Algorithms
Conquer Dynamic Programming in 3 easy steps – Part 2
This is the second blog post that explains how to tackle dynamic programming. Part 1 explains how to derive a recursive solution. Now it’s time to optimize it. Continue reading
Conquer Dynamic Programming in 3 easy steps – Part 1
In today’s blog post I will break down dynamic programming, a fundamental CS topic that throws off many programmers at first. Continue reading
The basics of bit manipulation
Talking with fellow developers, I realized that many feel confused when it comes down to bit manipulation. It is indeed something not used on a day-to-day basis, but nevertheless the Android framework relies on it heavily in for memory optimizations: when a boolean can do, a bit can do too. Examples are View and Window flags. This post sets out to demystify the basics of bit manipulation: afterwards it will feel no more difficult than using arrays. Continue reading