Understand pattern to solve coding questions

Instead of learning solutions to LeetCode questions, understand patterns!!
If the input array is sorted
-binary search
-two pointers
If asked for all permutations/subsets then
-Backtracking
If given a tree/Graph then
-DFS
-BFS
If given a linked list then
-two pointers
If recursion is banned
-stack
If must solve in-place then
-swap corresponding values
-store one or more different values in the same pointer
If asked for maximum/minimum
-subarray/subset/options then
-dynamic programming
If asked for top/least K items then
-Heap
If asked for common strings then
-map
-trie
else
-map/set for O(1) time & O(n) space
-sort input for O(nlogn) time and O(1) SPACE

Comments

Popular posts from this blog

Vaco Binary Simantics interview expeirence

Google

How to create an Annoying Virus In few steps using notepad only