Skip to content

Problems by Topic

Browse problems organized by their topics/tags.

Array

371 problems

Easy: 118, 594, 777, 830, 1018, 1227, 1256, 1293, 1353, 1426, 1468, 1510, 1524, 1570, 1656, 1755, 1878, 1927, 1993, 2048, 2137, 2204, 2277, 2292, 2308, 2316, 2320, 2551, 2692, 2707, 3154, 3165, 3194, 3227, 3242, 3251, 3321, 3372, 3555, 3612, 3621, 3651, 3656, 3788, 3790

Medium: 11, 31, 33, 36, 73, 74, 120, 153, 179, 209, 284, 300, 318, 324, 368, 376, 384, 396, 413, 416, 417, 453, 454, 462, 474, 494, 498, 524, 526, 539, 554, 565, 611, 638, 698, 713, 729, 731, 739, 769, 780, 797, 808, 831, 835, 852, 859, 860, 875, 876, 878, 901, 905, 907, 912, 925, 934, 936, 940, 945, 946, 947, 952, 959, 991, 1020, 1025, 1028, 1032, 1055, 1063, 1072, 1095, 1096, 1111, 1140, 1147, 1169, 1219, 1281, 1311, 1331, 1342, 1350, 1364, 1396, 1402, 1413, 1422, 1436, 1445, 1477, 1478, 1483, 1497, 1538, 1562, 1573, 1586, 1621, 1628, 1631, 1649, 1679, 1694, 1695, 1700, 1716, 1767, 1783, 1798, 1813, 1819, 1830, 1849, 1860, 1874, 1876, 1886, 1895, 1917, 1923, 1930, 1940, 1946, 1966, 1972, 1995, 2047, 2054, 2066, 2078, 2089, 2104, 2107, 2113, 2145, 2151, 2160, 2164, 2169, 2170, 2179, 2188, 2220, 2228, 2232, 2237, 2249, 2262, 2265, 2285, 2324, 2338, 2343, 2356, 2358, 2362, 2374, 2387, 2388, 2392, 2429, 2432, 2448, 2465, 2473, 2478, 2497, 2498, 2503, 2529, 2533, 2552, 2564, 2581, 2586, 2587, 2591, 2600, 2604, 2616, 2626, 2640, 2661, 2665, 2685, 2691, 2695, 2699, 2716, 2755, 2764, 2766, 2792, 2794, 2845, 2848, 2856, 2868, 2872, 2888, 2891, 2893, 2914, 2915, 3000, 3106, 3142, 3151, 3152, 3170, 3171, 3213, 3219, 3241, 3278, 3291, 3329, 3332, 3351, 3380, 3383, 3427, 3430, 3434, 3437, 3461, 3475, 3483, 3490, 3491, 3620, 3622, 3627, 3628, 3639, 3649, 3653, 3657, 3677, 3714, 3741, 3743, 3748, 3794, 3797, 3800, 3809, 3827, 3837

Hard: 4, 37, 51, 174, 218, 239, 312, 327, 407, 410, 446, 480, 679, 689, 691, 699, 719, 746, 759, 779, 794, 819, 833, 854, 892, 902, 989, 1000, 1042, 1145, 1234, 1262, 1352, 1409, 1414, 1485, 1550, 1744, 1766, 1772, 1851, 2023, 2150, 2162, 2176, 2180, 2229, 2307, 2375, 2394, 2449, 2479, 2494, 2513, 2527, 2531, 2545, 2554, 2588, 2601, 2681, 2689, 2711, 2839, 3181, 3307, 3348, 3459, 3466, 3592, 3640, 3648, 3733, 3853, 4035


Backtracking

23 problems

Easy: 1993

Medium: 131, 494, 526, 638, 698, 1160, 1331, 1516, 1715, 1819, 2078, 2107, 2170, 2174, 2456, 3649

Hard: 37, 51, 282, 679, 691, 2140


Binary Indexed Tree

8 problems

Medium: 2512

Hard: 218, 327, 1262, 1772, 2513, 2839, 3181


Binary Search Tree

75 problems

Easy: 1468, 3790

Medium: 33, 74, 99, 153, 173, 209, 300, 449, 611, 669, 729, 731, 755, 808, 852, 907, 912, 947, 1023, 1295, 1413, 1573, 1621, 1679, 1886, 1946, 1966, 2047, 2164, 2179, 2188, 2392, 2498, 2512, 2586, 2591, 2600, 2640, 2665, 2699, 2716, 2891, 2914, 3000, 3267, 3427, 3437, 3622, 3827

Hard: 4, 327, 410, 719, 794, 892, 1262, 1352, 1550, 1766, 1772, 1851, 2150, 2162, 2180, 2229, 2394, 2449, 2513, 2839, 3181, 3466, 3640, 4035


Binary Tree

25 problems

Easy: 101, 104

Medium: 99, 173, 331, 337, 449, 669, 893, 925, 955, 988, 1021, 1040, 1218, 1248, 1387, 1450, 1653, 2558, 2646, 2677

Hard: 297, 1093, 2545


Bit Manipulation

41 problems

Easy: 231, 342, 1993, 2308, 3600

Medium: 318, 397, 526, 638, 698, 934, 1281, 1860, 1940, 2059, 2078, 2170, 2356, 2478, 2498, 2503, 2529, 2533, 2766, 2792, 2837, 2848, 3291, 3380, 3394, 3475, 3649

Hard: 691, 1409, 1740, 2162, 3217, 3307, 3348, 3466, 3601


Bitmask

9 problems

Medium: 526, 638, 698, 2078, 2848, 3649

Hard: 691, 1740, 2162


Brainteaser

4 problems

Medium: 2503, 2533, 2837, 3462


50 problems

Easy: 101, 104

Medium: 310, 417, 433, 449, 684, 803, 893, 945, 955, 1218, 1387, 1396, 1436, 1558, 1747, 1876, 2104, 2151, 2558, 2564, 2568, 2646, 2677, 2764, 2793, 2914, 3239, 3633, 3809, 3837

Hard: 297, 407, 685, 794, 833, 854, 1409, 1414, 1485, 2213, 2375, 2545, 2583, 2588, 2711, 3439, 3645, 4035


Combinatorics

6 problems

Easy: 1993, 3768

Medium: 2324, 3201, 3714

Hard: 3682


Counting

35 problems

Easy: 594, 920, 1227, 1510, 1915, 2308, 3242, 3753, 3872

Medium: 900, 936, 959, 1055, 1140, 1160, 1169, 1364, 1396, 1483, 1502, 1859, 2174, 2237, 2300, 2356, 2362, 2448, 2620, 3267, 3360, 3437, 3455, 3754

Hard: 2140, 2494


Data Stream

7 problems

Easy: 969

Medium: 937, 1477, 1767, 2161, 2620

Hard: 1953


Database

12 problems

Easy: 175, 181, 182, 183, 196, 577, 1670, 1801, 1811

Medium: 176, 177, 1292


55 problems

Easy: 101, 104

Medium: 99, 310, 337, 386, 417, 449, 565, 669, 676, 684, 766, 803, 893, 984, 988, 1021, 1218, 1248, 1350, 1387, 1396, 1450, 1558, 1653, 1747, 2104, 2438, 2564, 2568, 2677, 2764, 2793, 3191, 3633, 3649, 3809

Hard: 297, 685, 794, 854, 1093, 2131, 2201, 2213, 2246, 2531, 2545, 3058, 3218, 3439, 3645, 3853, 4035


Design

46 problems

Easy: 969

Medium: 146, 173, 284, 355, 449, 676, 677, 729, 731, 838, 859, 860, 936, 937, 947, 955, 1023, 1387, 1477, 1497, 1767, 1905, 1995, 2104, 2161, 2169, 2178, 2285, 2429, 2434, 2512, 2587, 2620, 2778, 3797, 3827

Hard: 297, 432, 460, 746, 1262, 1337, 1953, 2023, 2389


Divide and Conquer

10 problems

Medium: 324, 372, 925, 1860, 2113

Hard: 4, 218, 327, 1772, 2513


Doubly-Linked List

6 problems

Medium: 146, 766, 1905

Hard: 432, 460, 2389


Dynamic Programming

99 problems

Easy: 118

Medium: 5, 120, 131, 241, 300, 337, 368, 376, 396, 397, 413, 416, 474, 494, 526, 638, 678, 698, 769, 803, 806, 808, 826, 831, 875, 905, 934, 1020, 1025, 1063, 1096, 1111, 1263, 1402, 1456, 1573, 1586, 1628, 1631, 1700, 1716, 1849, 2078, 2090, 2164, 2262, 2395, 2408, 2562, 2586, 2755, 2794, 2848, 2882, 2893, 3033, 3106, 3142, 3191, 3239, 3437, 3490, 3491, 3649, 3677, 3714

Hard: 10, 174, 312, 410, 446, 689, 691, 819, 855, 902, 1000, 1042, 1170, 1234, 1352, 1676, 1740, 1744, 1766, 1851, 1871, 1897, 2131, 2162, 2176, 2311, 2554, 2601, 3218, 3307, 3648, 3733


Enumeration

19 problems

Easy: 1656, 1993, 2998

Medium: 875, 900, 1747, 2170, 2174, 2541, 2837, 3201, 3278, 3683, 3741

Hard: 1740, 2140, 2531, 3217, 3459


Eulerian Circuit

1 problems

Hard: 2201


Game Theory

1 problems

Medium: 3462


Geometry

3 problems

Easy: 830

Medium: 223, 3278


Graph

34 problems

Medium: 310, 684, 803, 984, 1032, 1436, 1456, 1558, 2090, 2151, 2220, 2438, 2564, 2568, 2793, 3189, 3627, 3628, 3809

Hard: 685, 918, 1485, 2176, 2198, 2201, 2213, 2246, 2375, 2583, 2711, 3217, 3348, 3439, 4035


Greedy

74 problems

Easy: 1018, 1448, 3788

Medium: 11, 179, 324, 376, 397, 611, 670, 678, 768, 780, 797, 876, 901, 946, 991, 1095, 1140, 1159, 1169, 1304, 1422, 1478, 1502, 1529, 1649, 1695, 1700, 1874, 1917, 1930, 1966, 2066, 2089, 2095, 2221, 2237, 2300, 2362, 2387, 2395, 2456, 2497, 2520, 2591, 2600, 2604, 2616, 2640, 2661, 2716, 2872, 3151, 3171, 3195, 3241, 3351, 3360, 3445, 3620, 3741, 3743

Hard: 410, 759, 779, 902, 1766, 2140, 2180, 2681, 2689, 3307


Hash Function

3 problems

Hard: 214, 1508, 2275


Hash Table

143 problems

Easy: 594, 920, 1227, 1256, 1353, 1468, 1500, 1510, 1915, 2204, 2308, 2707, 3227, 3242, 3621, 3656, 3753, 3788, 3872

Medium: 36, 73, 146, 166, 355, 424, 433, 454, 554, 567, 676, 677, 768, 797, 808, 835, 876, 893, 900, 905, 925, 940, 947, 952, 959, 984, 991, 1023, 1055, 1140, 1147, 1160, 1169, 1218, 1219, 1261, 1281, 1364, 1387, 1422, 1423, 1436, 1460, 1483, 1502, 1562, 1573, 1649, 1694, 1715, 1798, 1813, 1830, 1859, 1905, 1995, 2054, 2059, 2104, 2107, 2161, 2169, 2174, 2220, 2237, 2285, 2300, 2338, 2356, 2362, 2388, 2429, 2434, 2448, 2473, 2520, 2552, 2581, 2586, 2587, 2599, 2620, 2626, 2640, 2661, 2677, 2685, 2695, 2755, 2766, 2778, 2856, 2888, 2915, 3267, 3329, 3360, 3434, 3437, 3445, 3455, 3569, 3653, 3754, 3797, 3809, 3827, 3837

Hard: 30, 37, 432, 460, 480, 691, 746, 833, 855, 989, 1145, 1409, 2023, 2479, 2689, 3592


Heap (Priority Queue)

49 problems

Easy: 2204, 2692, 3555

Medium: 355, 803, 1140, 1304, 1478, 1860, 1917, 2054, 2113, 2161, 2164, 2300, 2429, 2434, 2473, 2512, 2616, 2695, 2868, 2914, 3332, 3445, 3627, 3628

Hard: 218, 239, 407, 480, 794, 892, 902, 918, 1485, 1550, 1953, 2023, 2375, 2449, 2479, 2588, 2681, 2711, 3181, 3217, 3218, 3592


Iterator

3 problems

Medium: 173, 284, 936


Line Sweep

1 problems

Hard: 218


Linked List

22 problems

Easy: 83, 203

Medium: 61, 146, 355, 766, 835, 838, 859, 860, 1072, 1767, 1905, 2196, 2374, 2573, 2871

Hard: 25, 432, 460, 1337, 2389


Math

74 problems

Easy: 231, 326, 342, 830, 1018, 1426, 1440, 1448, 1500, 1817, 1993, 2998, 3172, 3227, 3321, 3555, 3600, 3768, 3817, 3830

Medium: 166, 223, 241, 368, 372, 384, 396, 453, 462, 539, 592, 670, 755, 797, 826, 900, 912, 946, 1048, 1295, 1477, 1529, 1585, 1631, 1678, 1889, 2050, 2160, 2174, 2324, 2432, 2448, 2541, 2604, 2610, 2649, 2661, 2716, 2871, 3201, 3278, 3279, 3336, 3462, 3714, 3754

Hard: 224, 282, 679, 989, 2307, 2531, 3601, 3682


Matrix

53 problems

Easy: 777, 3227

Medium: 36, 73, 74, 417, 498, 945, 1147, 1311, 1331, 1342, 1396, 1402, 1413, 1628, 1716, 1860, 1876, 1972, 2047, 2089, 2145, 2160, 2343, 2685, 2764, 2794, 2914, 3461, 3627, 3628, 3677, 3748, 3797, 3837

Hard: 37, 174, 407, 794, 854, 1145, 1234, 1409, 1414, 1485, 1550, 2375, 2588, 2711, 3459, 3648, 3733


Memoization

9 problems

Medium: 241, 397, 638, 698, 2395, 3239

Hard: 691, 1676, 3733


Merge Sort

3 problems

Hard: 327, 1772, 2513


Monotonic Queue

6 problems

Medium: 2868

Hard: 239, 892, 2180, 2449, 2527


Monotonic Stack

14 problems

Easy: 1570

Medium: 739, 780, 937, 1072, 1159, 1219, 1628, 1679, 2374, 2573

Hard: 779, 2839, 3181


Number Theory

6 problems

Easy: 3768

Medium: 1585, 2610, 2716

Hard: 989, 2307


Ordered Set

19 problems

Easy: 3790

Medium: 729, 731, 1946, 2161, 2429, 2434, 2512, 2868, 3000, 3827

Hard: 218, 327, 699, 1772, 1953, 2023, 2162, 2513


Prefix Sum

45 problems

Medium: 209, 731, 831, 878, 912, 1219, 1281, 1311, 1413, 1477, 1538, 1631, 1649, 1694, 1695, 1783, 1859, 1860, 1895, 1940, 1966, 2059, 2145, 2249, 2358, 2465, 2529, 2691, 2915, 3383, 3427, 3475, 3622, 3639, 3653, 3794

Hard: 410, 892, 1042, 1145, 2229, 2311, 2394, 2449, 3640


Probability and Statistics

1 problems

Medium: 826


Queue

15 problems

Easy: 969

Medium: 859, 860, 1767, 2408, 2620, 2868, 3475, 3827

Hard: 239, 892, 1953, 2180, 2449, 2527


Quickselect

3 problems

Medium: 324, 1860, 2113


Randomized

2 problems

Medium: 384, 912


Recursion

15 problems

Easy: 203, 231, 326, 342, 3600

Medium: 241, 394, 1667, 2050, 2573

Hard: 10, 25, 224, 1197, 3601


Rolling Hash

3 problems

Hard: 214, 1508, 2275


Segment Tree

13 problems

Easy: 3790

Medium: 729, 731, 2512

Hard: 218, 327, 699, 1262, 1772, 2513, 2839, 3181, 3466


Shortest Path

10 problems

Medium: 803, 1456, 2090, 3627, 3628

Hard: 918, 1485, 2375, 2711, 3217


Simulation

34 problems

Easy: 2048, 2137, 2260, 2551, 2692, 3447, 3555, 3600, 3651, 3768, 3790

Medium: 498, 592, 1048, 1342, 1667, 2021, 2169, 2178, 2228, 2232, 2265, 2324, 2343, 2388, 2408, 2587, 2695, 3332, 3336, 3434, 3794

Hard: 2389, 2479


Sliding Window

50 problems

Easy: 594, 1755, 2463

Medium: 209, 413, 424, 567, 713, 940, 1020, 1096, 1261, 1351, 1423, 1445, 1460, 1538, 1573, 1586, 1813, 1966, 2338, 2478, 2498, 2552, 2599, 2626, 2856, 2868, 2891, 3150, 3213, 3267, 3380, 3475, 3483, 3569, 3622, 3743

Hard: 30, 239, 480, 892, 2229, 2275, 2394, 2449, 2527, 3592, 3640


Sorting

86 problems

Easy: 594, 1018, 1256, 1353, 1468, 2204, 3321

Medium: 179, 324, 368, 462, 524, 539, 611, 780, 808, 852, 876, 900, 901, 946, 959, 991, 1095, 1140, 1169, 1422, 1436, 1478, 1483, 1561, 1621, 1695, 1798, 1860, 1930, 1946, 1966, 2113, 2160, 2164, 2179, 2387, 2392, 2473, 2497, 2581, 2586, 2600, 2640, 2646, 2695, 2699, 2845, 2888, 2891, 3151, 3219, 3241, 3278, 3291, 3351, 3360, 3430, 3437, 3620, 3622, 3657, 3714, 3748

Hard: 719, 759, 779, 1352, 1851, 2180, 2213, 2479, 2554, 2588, 2681, 2689, 2839, 3218, 3307, 3640


Stack

32 problems

Easy: 1570, 3447

Medium: 173, 331, 394, 678, 739, 780, 937, 1048, 1072, 1159, 1219, 1497, 1628, 1679, 2021, 2095, 2221, 2374, 2456, 2520, 2573, 2871, 3445

Hard: 224, 779, 1197, 2307, 2389, 2839, 3181


String

131 problems

Easy: 345, 812, 920, 1302, 1353, 1524, 1566, 1915, 2137, 2260, 2292, 2346, 2463, 2580, 3194, 3396, 3447, 3617, 3753, 3768, 3872

Medium: 5, 38, 131, 165, 166, 179, 241, 318, 331, 394, 424, 433, 449, 474, 524, 539, 567, 592, 676, 677, 678, 768, 808, 878, 952, 1023, 1032, 1058, 1159, 1160, 1261, 1281, 1304, 1350, 1351, 1423, 1460, 1483, 1502, 1516, 1561, 1562, 1667, 1678, 1700, 1715, 1747, 1859, 1895, 1923, 2021, 2059, 2095, 2107, 2113, 2220, 2221, 2232, 2237, 2285, 2300, 2395, 2414, 2429, 2456, 2465, 2520, 2599, 2691, 2755, 3018, 3033, 3142, 3150, 3174, 3195, 3267, 3329, 3360, 3445, 3451, 3455, 3462, 3569, 3683, 3754, 3797, 3800

Hard: 10, 30, 214, 224, 282, 297, 691, 746, 855, 1000, 1093, 1170, 1197, 1508, 1744, 1871, 1897, 2140, 2275, 2311, 2389, 2494


String Matching

7 problems

Easy: 812, 1524, 1566, 2292

Medium: 1874

Hard: 214, 1508


Topological Sort

6 problems

Medium: 310, 1558, 2090, 2220

Hard: 2176, 2246


Tree

39 problems

Easy: 101, 104

Medium: 99, 173, 331, 337, 449, 669, 893, 925, 955, 988, 1021, 1040, 1218, 1248, 1387, 1450, 1653, 2104, 2558, 2564, 2568, 2646, 2677, 3191, 3633

Hard: 297, 1093, 1740, 2131, 2531, 2545, 3058, 3218, 3307, 3439, 3645, 3853


Trie

9 problems

Medium: 386, 676, 677, 808, 1350, 2755, 3329

Hard: 746, 2494


Two Pointers

44 problems

Easy: 345, 1468, 1566, 2320, 2551, 2707, 3165

Medium: 5, 11, 31, 61, 165, 524, 567, 611, 768, 852, 875, 901, 959, 1028, 1621, 1679, 1798, 1874, 1923, 1972, 2095, 2228, 2232, 2265, 2392, 2414, 2497, 2581, 2699, 3018, 3170, 3195, 3437, 3683

Hard: 719, 2162, 2588


Union Find

22 problems

Medium: 684, 984, 1032, 1058, 1396, 2512, 2764, 2793, 2914, 3219, 3809

Hard: 685, 794, 854, 989, 2131, 2198, 2213, 2583, 2588, 3348, 4035