Bitmask LeetCode Problems: All 43, With Python Solutions
Every problem in this library that LeetCode tags Bitmask — 43 in total, 35 of them with a complete Python solution, a worked example and the time and space complexity of the approach.
- 43 problems
- 0 Easy
- 16 Medium
- 27 Hard
How Bitmask problems are solved
A tag names the subject, not the method. These pattern hubs cover the techniques that actually solve Bitmask problems — each one explains the approach, gives a Python template and states its complexity.
- Bit Manipulation — Use XOR, masks and the low-bit trick to replace whole data structures with an integer.
Bitmask problems by difficulty
Problems with a complete Python solution are listed first, then by ascending problem number.
Medium (16)
| # | Problem | Difficulty | Topics |
|---|---|---|---|
| 464 | Can I Win | Medium | Bit Manipulation, Memoization, Math +3 |
| 473 | Matchsticks to Square | Medium | Bit Manipulation, Array, Dynamic Programming +2 |
| 526 | Beautiful Arrangement | Medium | Bit Manipulation, Array, Dynamic Programming +2 |
| 638 | Shopping Offers | Medium | Bit Manipulation, Memoization, Array +3 |
| 698 | Partition to K Equal Sum Subsets | Medium | Bit Manipulation, Memoization, Array +3 |
| 1947 | Maximum Compatibility Score Sum | Medium | Bit Manipulation, Array, Dynamic Programming +2 |
| 1986 | Minimum Number of Work Sessions to Finish the Tasks | Medium | Bit Manipulation, Array, Dynamic Programming +2 |
| 2002 | Maximum Product of the Length of Two Palindromic Subsequences | Medium | Bit Manipulation, String, Dynamic Programming +2 |
| 2305 | Fair Distribution of Cookies | Medium | Bit Manipulation, Array, Dynamic Programming +2 |
| 2572 | Count the Number of Square-Free Subsets | Medium | Bit Manipulation, Array, Math +2 |
| 2741 | Special Permutations | Medium | Bit Manipulation, Array, Dynamic Programming +1 |
| 351 | Android Unlock PatternsPremium | Medium | Bit Manipulation, Dynamic Programming, Backtracking +1 |
| 1066 | Campus Bikes IIPremium | Medium | Bit Manipulation, Array, Dynamic Programming +2 |
| 2152 | Minimum Number of Lines to Cover PointsPremium | Medium | Bit Manipulation, Geometry, Array +5 |
| 2184 | Number of Ways to Build Sturdy Brick WallPremium | Medium | Bit Manipulation, Array, Dynamic Programming +1 |
| 2992 | Number of Self-Divisible PermutationsPremium | Medium | Bit Manipulation, Array, Math +4 |
Hard (27)
| # | Problem | Difficulty | Topics |
|---|---|---|---|
| 691 | Stickers to Spell Word | Hard | Bit Manipulation, Memoization, Array +5 |
| 805 | Split Array With Same Average | Hard | Bit Manipulation, Array, Math +2 |
| 847 | Shortest Path Visiting All Nodes | Hard | Bit Manipulation, Breadth-First Search, Graph +2 |
| 943 | Find the Shortest Superstring | Hard | Bit Manipulation, Array, String +2 |
| 996 | Number of Squareful Arrays | Hard | Bit Manipulation, Array, Hash Table +4 |
| 1125 | Smallest Sufficient Team | Hard | Bit Manipulation, Array, Dynamic Programming +1 |
| 1255 | Maximum Score Words Formed by Letters | Hard | Bit Manipulation, Array, Hash Table +5 |
| 1349 | Maximum Students Taking Exam | Hard | Bit Manipulation, Array, Dynamic Programming +2 |
| 1434 | Number of Ways to Wear Different Hats to Each Other | Hard | Bit Manipulation, Array, Dynamic Programming +1 |
| 1494 | Parallel Courses II | Hard | Bit Manipulation, Graph, Dynamic Programming +1 |
| 1595 | Minimum Cost to Connect Two Groups of Points | Hard | Bit Manipulation, Array, Dynamic Programming +2 |
| 1617 | Count Subtrees With Max Distance Between Cities | Hard | Bit Manipulation, Tree, Dynamic Programming +2 |
| 1655 | Distribute Repeating Integers | Hard | Bit Manipulation, Array, Dynamic Programming +2 |
| 1659 | Maximize Grid Happiness | Hard | Bit Manipulation, Memoization, Dynamic Programming +1 |
| 1681 | Minimum Incompatibility | Hard | Bit Manipulation, Array, Dynamic Programming +1 |
| 1723 | Find Minimum Time to Finish All Jobs | Hard | Bit Manipulation, Array, Dynamic Programming +2 |
| 1755 | Closest Subsequence Sum | Hard | Bit Manipulation, Array, Two Pointers +3 |
| 1799 | Maximize Score After N Operations | Hard | Bit Manipulation, Array, Math +4 |
| 1815 | Maximum Number of Groups Getting Fresh Donuts | Hard | Bit Manipulation, Memoization, Array +2 |
| 1879 | Minimum XOR Sum of Two Arrays | Hard | Bit Manipulation, Array, Dynamic Programming +1 |
| 1994 | The Number of Good Subsets | Hard | Bit Manipulation, Array, Hash Table +5 |
| 2035 | Partition Array Into Two Arrays to Minimize Sum Difference | Hard | Bit Manipulation, Array, Two Pointers +4 |
| 2172 | Maximum AND Sum of Array | Hard | Bit Manipulation, Array, Dynamic Programming +1 |
| 2791 | Count Paths That Can Form a Palindrome in a Tree | Hard | Bit Manipulation, Tree, Depth-First Search +2 |
| 465 | Optimal Account BalancingPremium | Hard | Bit Manipulation, Array, Dynamic Programming +2 |
| 2247 | Maximum Cost of Trip With K HighwaysPremium | Hard | Bit Manipulation, Graph, Dynamic Programming +1 |
| 2403 | Minimum Time to Kill All MonstersPremium | Hard | Bit Manipulation, Array, Dynamic Programming +1 |
Keep exploring
- Array1,569
- String672
- Hash Table588
- Math485
- Dynamic Programming481
- Sorting392
- Greedy346
- Depth-First Search289
- Binary Search253
- Database249
- Tree225
- Breadth-First Search223
- Matrix216
- Two Pointers201
- Bit Manipulation194
- Binary Tree174
- Heap (Priority Queue)163
- Prefix Sum157
- Stack157
- Simulation144
- Graph138
- Counting126
- Design122
- Sliding Window116
When the Bitmask problem arrives live
Stealth Interview is a desktop app for macOS and Windows. It reads the coding problem off your screen, returns a working solution with a step-by-step explanation and its time and space complexity, and transcribes what the interviewer is saying — while staying invisible to screen sharing.