- Bit Manipulation
- Array
- String
- Linked List
- Stack
- Queue
- Binary Heap
- Tree
- Hash Table
- Math
- Sort
- Two Pointers
- Recursion
- Binary Search
- Binary Search Tree
- Breadth-First Search
- Depth-First Search
- Backtracking
- Dynamic Programming
- Greedy
- Graph
- Geometry
- Simulation
- Design
- Concurrency
- C++
- Python
- Algorithms
- Math
- Visualization
- Handy Table
- Thinking Techniques as follows:
n | Complexity | Possible Algorithms & Techniques |
---|---|---|
1018+ | O(1) | Math |
1018 | O(logn) | Binary & Ternary Search / Matrix Power / Cycle Tricks / Big Simulation Steps / Values Reranking / Math |
1016 | O(n1/2) | Math |
108 | O(n) | Greedy / Ad-hoc / DP |
4×107 | O(nlogn) | Linear # Calls to Binary & Ternary Search / Pre-processing & Querying / Divide and Conquer |
104 | O(n2) | Ad-hoc / DP / Greedy / Divide and Conquer / Branch and Bound |
500 | O(n3) | Ad-hoc / DP / Greedy / Divide and Conquer / Branch and Bound |
90 | O(n4) | Ad-hoc / DP / Greedy / Divide and Conquer / Branch and Bound |
50 | O(n5) | Branch and Bound |
40 | O(n×2n/2) | Meet in the Middle |
20 | O(n×2n) | Backtracking / Generating 2n Subsets / Bitmask Technique |
11 | O(n!) | Factorial / Permutation / Combination Algorithm |
# | Title | Solution | Time | Space | Difficulty | Tag | Note |
---|---|---|---|---|---|---|---|
1310 | XOR Queries of a Subarray | C++ Python | O(n) | O(1) | Medium |