Tips for solving leetcode codings interview problems
If input array is sorted then
- Binary search
- Two pointers
If asked for all permutations/subsets then
- Backtracking
If given a tree then
- DFS
- BFS
If given a graph then
- DFS
- BFS
If given a linked list then
- Two pointers
If recursion is banned then
- 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
If input array is sorted then
- Binary search
- Two pointers
If asked for all permutations/subsets then
- Backtracking
If given a tree then
- DFS
- BFS
If given a graph then
- DFS
- BFS
If given a linked list then
- Two pointers
If recursion is banned then
- 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
👍5
Python Cheat Sheet.pdf
677.7 KB
This cheat sheet includes basic python required for data analysis excluding pandas, numpy & other libraries
👍3
Advanced Concepts in Operating Systems (Indian Edition).pdf
331.2 MB
Advanced Concepts in Operating Systems
Mukesh Singhal, 2008 (scanned)
Mukesh Singhal, 2008 (scanned)
HTML Tags List.pdf
115.1 KB
HTML Tags List 🚀
Do not forget to React ❤️ to this Message for More Content Like this
Thanks For Joining All ❤️🙏
Do not forget to React ❤️ to this Message for More Content Like this
Thanks For Joining All ❤️🙏
👍5❤1
🌻 𝗨𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱 𝗕𝗶𝗴 𝗢 𝗻𝗼𝘁𝗮𝘁𝗶𝗼𝗻!
O(1) - Constant Time: Simple tasks that take the same amount of time no matter how much data you have, like finding an item in a list by its position.
O(log n) - Logarithmic Time: Tasks that take less time as the data grows, like finding an item in a sorted list by repeatedly dividing it in half.
O(n) - Linear Time: Tasks that take more time as the data grows, like counting all items in a list by checking each one.
O(n log n) - Linearithmic Time: Tasks that get a bit slower as the data grows, like sorting a list using efficient methods such as merge sort or quick sort.
O(n²) - Quadratic Time: Tasks that get noticeably slower as the data grows, like sorting a list using simpler methods like bubble sort or finding all pairs in a list.
O(2^n) - Exponential Time: Tasks that get much slower as the data grows, like finding all subsets of a set or solving complex problems like the traveling salesman using a basic approach.
O(n!) - Factorial Time: Tasks that get extremely slow as the data grows, like solving problems that involve checking every possible arrangement of items.
O(1) - Constant Time: Simple tasks that take the same amount of time no matter how much data you have, like finding an item in a list by its position.
O(log n) - Logarithmic Time: Tasks that take less time as the data grows, like finding an item in a sorted list by repeatedly dividing it in half.
O(n) - Linear Time: Tasks that take more time as the data grows, like counting all items in a list by checking each one.
O(n log n) - Linearithmic Time: Tasks that get a bit slower as the data grows, like sorting a list using efficient methods such as merge sort or quick sort.
O(n²) - Quadratic Time: Tasks that get noticeably slower as the data grows, like sorting a list using simpler methods like bubble sort or finding all pairs in a list.
O(2^n) - Exponential Time: Tasks that get much slower as the data grows, like finding all subsets of a set or solving complex problems like the traveling salesman using a basic approach.
O(n!) - Factorial Time: Tasks that get extremely slow as the data grows, like solving problems that involve checking every possible arrangement of items.
👍4