# DSA Problems

- [Template](/interview-prep/dsa-problems/template.md)
- [863. All Nodes Distance K in Binary Tree](/interview-prep/dsa-problems/863.-all-nodes-distance-k-in-binary-tree.md): #binary-trees
- [2096. Step-By-Step Directions From a Binary Tree Node to Another](/interview-prep/dsa-problems/2096.-step-by-step-directions-from-a-binary-tree-node-to-another.md): #binary-trees
- [2415. Reverse Odd Levels of Binary Tree](/interview-prep/dsa-problems/2415.-reverse-odd-levels-of-binary-tree.md): #binary-tree
- [TODO: 987. Vertical Order Traversal of a Binary Tree](/interview-prep/dsa-problems/todo-987.-vertical-order-traversal-of-a-binary-tree.md): #binary-tree
- [TODO: 545. Boundary of Binary Tree](/interview-prep/dsa-problems/todo-545.-boundary-of-binary-tree.md)
- [TODO: 103. Binary Tree Zigzag Level Order Traversal](/interview-prep/dsa-problems/todo-103.-binary-tree-zigzag-level-order-traversal.md)
- [TODO: 100. Same Tree](/interview-prep/dsa-problems/todo-100.-same-tree.md)
- [TODO: 543. Diameter of Binary Tree](/interview-prep/dsa-problems/todo-543.-diameter-of-binary-tree.md): #binary-trees
- [TODO: 104. Maximum Depth of Binary Tree](/interview-prep/dsa-problems/todo-104.-maximum-depth-of-binary-tree.md)
- [TODO: 110. Balanced Binary Tree](/interview-prep/dsa-problems/todo-110.-balanced-binary-tree.md): #binary-tree
- [CN: Number of rotations in sorted array](/interview-prep/dsa-problems/cn-number-of-rotations-in-sorted-array.md): #binary-search
- [CN: Implement upper bound](/interview-prep/dsa-problems/cn-implement-upper-bound.md)
- [CN: Implement Lower Bound](/interview-prep/dsa-problems/cn-implement-lower-bound.md): #binary-search
- [CN: Difference of subset sums is minimum](/interview-prep/dsa-problems/cn-difference-of-subset-sums-is-minimum.md)
- [CN: Subset Sum Equal To K](/interview-prep/dsa-problems/cn-subset-sum-equal-to-k.md): #dp
- [TODO: 1351. Count Negative Numbers in a Sorted Matrix](/interview-prep/dsa-problems/todo-1351.-count-negative-numbers-in-a-sorted-matrix.md): #binarysearch #binary-search
- [TODO: 1318. Minimum Flips to Make a OR b Equal to c](/interview-prep/dsa-problems/todo-1318.-minimum-flips-to-make-a-or-b-equal-to-c.md): #bitmask #bitwise
- [TODO: 1502. Can Make Arithmetic Progression From Sequence](/interview-prep/dsa-problems/todo-1502.-can-make-arithmetic-progression-from-sequence.md): #sorting #array
- [TODO: 39. Combination Sum](/interview-prep/dsa-problems/todo-39.-combination-sum.md): #backtracking #combination
- [TODO: 78. Subsets](/interview-prep/dsa-problems/todo-78.-subsets.md): #backtracking
- [TODO: 1232. Check If It Is a Straight Line](/interview-prep/dsa-problems/todo-1232.-check-if-it-is-a-straight-line.md)
- [TODO: 47. Permutations II](/interview-prep/dsa-problems/todo-47.-permutations-ii.md): #backtracking
- [1. Two Sum](/interview-prep/dsa-problems/1.-two-sum.md)
- [2. Add Two Numbers](/interview-prep/dsa-problems/2.-add-two-numbers.md): #linked-list
- [3. Longest Substring Without Repeating Characters](/interview-prep/dsa-problems/3.-longest-substring-without-repeating-characters.md): #sliding-window
- [11. Container With Most Water](/interview-prep/dsa-problems/11.-container-with-most-water.md): #two-pointers
- [15. 3Sum](/interview-prep/dsa-problems/15.-3sum.md): #two-pointers
- [19. Remove Nth Node From End of List](/interview-prep/dsa-problems/19.-remove-nth-node-from-end-of-list.md): #linked-list
- [20. Valid Parentheses](/interview-prep/dsa-problems/20.-valid-parentheses.md): #stack
- [21. Merge Two Sorted Lists](/interview-prep/dsa-problems/21.-merge-two-sorted-lists.md): #linked-list
- [31. Next Permutation](/interview-prep/dsa-problems/31.-next-permutation.md): #permutation #array #two-pointers
- [33. Search in Rotated Sorted Array](/interview-prep/dsa-problems/33.-search-in-rotated-sorted-array.md)
- [34. Find First and Last Position of Element in Sorted Array](/interview-prep/dsa-problems/34.-find-first-and-last-position-of-element-in-sorted-array.md): #binary-search
- [35. Search Insert Position](/interview-prep/dsa-problems/35.-search-insert-position.md): #binary-search
- [62.Unique Paths](/interview-prep/dsa-problems/62.unique-paths.md): #dp
- [63. Unique Paths II](/interview-prep/dsa-problems/63.-unique-paths-ii.md): #dp
- [64. Minimum Path Sum](/interview-prep/dsa-problems/64.-minimum-path-sum.md): #dp
- [70. Climbing Stairs](/interview-prep/dsa-problems/70.-climbing-stairs.md)
- [81. Search in Rotated Sorted Array II](/interview-prep/dsa-problems/81.-search-in-rotated-sorted-array-ii.md): #binary-search
- [120. Triangle](/interview-prep/dsa-problems/120.-triangle.md): #dp
- [TODO: 124. Binary Tree Maximum Path Sum](/interview-prep/dsa-problems/todo-124.-binary-tree-maximum-path-sum.md): #dfs #tree
- [138. Copy List with Random Pointer](/interview-prep/dsa-problems/138.-copy-list-with-random-pointer.md): #linked-list
- [141. Linked List Cycle](/interview-prep/dsa-problems/141.-linked-list-cycle.md): #linked-list #cycle-detection
- [153. Find Minimum in Rotated Sorted Array](/interview-prep/dsa-problems/153.-find-minimum-in-rotated-sorted-array.md): #binary-search
- [189. Rotate Array](/interview-prep/dsa-problems/189.-rotate-array.md): #two-pointers #math
- [198. House Robber](/interview-prep/dsa-problems/198.-house-robber.md): #dp
- [213. House Robber II](/interview-prep/dsa-problems/213.-house-robber-ii.md): #dp
- [244. Shortest Word Distance II](/interview-prep/dsa-problems/244.-shortest-word-distance-ii.md): #hash-table #counting
- [268. Missing Number](/interview-prep/dsa-problems/268.-missing-number.md): #cyclic-sort
- [278. First Bad Version](/interview-prep/dsa-problems/278.-first-bad-version.md): #binary-search
- [416. Partition Equal Subset Sum](/interview-prep/dsa-problems/416.-partition-equal-subset-sum.md): #dp
- [496. Next Greater Element I](/interview-prep/dsa-problems/496.-next-greater-element-i.md): #monotonic
- [547. Number of Provinces](/interview-prep/dsa-problems/547.-number-of-provinces.md): #graph #dfs #union-find
- [556. Next Greater Element III](/interview-prep/dsa-problems/556.-next-greater-element-iii.md): #pivot #next-greater #permutation
- [698. Partition to K Equal Sum Subsets](/interview-prep/dsa-problems/698.-partition-to-k-equal-sum-subsets.md)
- [741. Cherry Pickup](/interview-prep/dsa-problems/741.-cherry-pickup.md)
- [744. Find Smallest Letter Greater Than Target](/interview-prep/dsa-problems/744.-find-smallest-letter-greater-than-target.md): #binary-search
- [876. Middle of the Linked List](/interview-prep/dsa-problems/876.-middle-of-the-linked-list.md): #linked-list
- [929. Unique Email Addresses](/interview-prep/dsa-problems/929.-unique-email-addresses.md): #string
- [931. Minimum Falling Path Sum](/interview-prep/dsa-problems/931.-minimum-falling-path-sum.md): #dp
- [994. Rotting Oranges](/interview-prep/dsa-problems/994.-rotting-oranges.md): #bfs #graph
- [1091. Shortest Path in Binary Matrix](/interview-prep/dsa-problems/1091.-shortest-path-in-binary-matrix.md): #bfs #graph
- [1150. Check If a Number Is Majority Element in a Sorted Array](/interview-prep/dsa-problems/1150.-check-if-a-number-is-majority-element-in-a-sorted-array.md)
- [1376. Time Needed to Inform All Employees](/interview-prep/dsa-problems/1376.-time-needed-to-inform-all-employees.md): #bfs #graph
- [1463. Cherry Pickup II](/interview-prep/dsa-problems/1463.-cherry-pickup-ii.md): #dp
- [2096. Step-By-Step Directions From a Binary Tree Node to Another](/interview-prep/dsa-problems/2096.-step-by-step-directions-from-a-binary-tree-node-to-another-1.md)
- [2101. Detonate the Maximum Bombs](/interview-prep/dsa-problems/2101.-detonate-the-maximum-bombs.md): #graph #bfs #dfs #geometry
