# Top 50 Most Asked Divide and Concure

# Algorithm LeetCode Problem
1 Binary Search Binary Search (opens new window)
2 Merge Sort Sort an Array (opens new window)
3 Quick Sort Sort an Array (opens new window)
4 Find the Majority Element (Boyer-Moore Voting) Majority Element (opens new window)
5 Closest Pair of Points Closest Point to Origin (opens new window)
6 Binary Search Tree Operations Validate Binary Search Tree (opens new window)
7 Karatsuba Multiplication Multiply Strings (opens new window)
8 Merge K Sorted Lists Merge k Sorted Lists (opens new window)
9 Exponentiation by Squaring Pow(x, n) (opens new window)
10 QuickSelect (Find the Kth Smallest Element) Kth Largest Element in an Array (opens new window)
11 Find the Median of Two Sorted Arrays Median of Two Sorted Arrays (opens new window)
12 Counting Inversions Count of Smaller Numbers After Self (opens new window)
13 Closest Pair of Points in 3D No direct problem on LeetCode, refer to Closest Point to Origin.
14 Matrix Chain Multiplication Matrix Chain Multiplication (opens new window) (Dynamic Programming-based)
15 Longest Common Subsequence (LCS) Longest Common Subsequence (opens new window)
16 Ternary Search Find Minimum in Rotated Sorted Array (opens new window)
17 Convex Hull (Graham Scan) Convex Hull (opens new window)
18 Merge Sort on Linked List Sort List (opens new window)
19 Matrix Exponentiation Pow(x, n) (opens new window)
20 Sieve of Eratosthenes Count Primes (opens new window)
21 Trapping Rain Water Trapping Rain Water (opens new window)
22 Radix Sort No direct problem on LeetCode, refer to Sort an Array for sorting.
23 Optimal Binary Search Tree (OBST) Binary Search Tree to Greater Sum Tree (opens new window)
24 Longest Increasing Subsequence (LIS) Longest Increasing Subsequence (opens new window)
25 Fractional Knapsack Fractional Knapsack (opens new window)
26 Strassen’s Matrix Multiplication No direct problem, but look for Matrix Multiplication in #318.
27 Closest Pair of Points Using Divide and Conquer Closest Point to Origin (opens new window)
28 QuickSort Median of Three Partitioning Sort an Array (opens new window)
29 Topological Sort Using DFS Course Schedule II (opens new window)
30 Counting Triangles in a Graph Triangle Counting (opens new window) (similar graph-based problem)
31 Binary Indexed Tree (Fenwick Tree) Range Sum Query - Mutable (opens new window)
32 Knapsack Problem (Divide and Conquer with Dynamic Programming) Partition Equal Subset Sum (opens new window)
33 Matrix Multiplication Multiply Strings (opens new window)
34 Longest Palindromic Substring Longest Palindromic Substring (opens new window)
35 Merge Sort for Linked List Sort List (opens new window)
36 Kth Largest Element Using QuickSelect Kth Largest Element in an Array (opens new window)
37 Find Median of Unsorted Array Median of Two Sorted Arrays (opens new window)
38 Convex Hull (QuickHull) No direct problem, refer to Convex Hull.
39 Longest Common Subsequence (LCS) with Dynamic Programming Longest Common Subsequence (opens new window)
40 Divide and Conquer for Maximum Subarray Problem Maximum Subarray (opens new window)
41 Meeting in the Middle (Subset Sum) Partition Equal Subset Sum (opens new window)
42 Dynamic Programming with Divide and Conquer (Longest Palindromic Subsequence) Longest Palindromic Subsequence (opens new window)
43 D&C for Convex Hull (Graham Scan) Convex Hull (opens new window)
44 Divide and Conquer for Median of Arrays Median of Two Sorted Arrays (opens new window)
45 Divide and Conquer for Balanced Binary Search Tree Balanced Binary Search Tree (opens new window)
46 Find All Possible Subsets (Subset Generation) Subsets (opens new window)
47 Knuth-Morris-Pratt (KMP) String Matching KMP Pattern Matching (opens new window)
48 Dynamic Programming and Divide and Conquer for Fibonacci Climbing Stairs (opens new window)
49 Fast Fourier Transform (FFT) Multiply Strings (opens new window)
50 Quick Hull Algorithm for Convex Hull Convex Hull (opens new window)