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
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
Medium: 99, 173, 331, 337, 449, 669, 893, 925, 955, 988, 1021, 1040, 1218, 1248, 1387, 1450, 1653, 2558, 2646, 2677
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
Brainteaser¶
4 problems
Medium: 2503, 2533, 2837, 3462
Breadth-First Search¶
50 problems
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
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
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
Depth-First Search¶
55 problems
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
Doubly-Linked List¶
6 problems
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
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
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
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
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
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
Line Sweep¶
1 problems
Hard: 218
Linked List¶
22 problems
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
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
Merge Sort¶
3 problems
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
Number Theory¶
6 problems
Easy: 3768
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
Randomized¶
2 problems
Recursion¶
15 problems
Easy: 203, 231, 326, 342, 3600
Medium: 241, 394, 1667, 2050, 2573
Rolling Hash¶
3 problems
Segment Tree¶
13 problems
Easy: 3790
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
Sliding Window¶
50 problems
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
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
Medium: 1874
Topological Sort¶
6 problems
Tree¶
39 problems
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
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
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