So many times, while finding or changing jobs, you have to prepare for technical interviews. At times, when you try to search algorithms on internet, there are many variants of algorithms, few poorly written snippets, partially or pseudo code, few badly coded, few incomplete, few without boundary edge cases etc.