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)

#ProblemDifficultyTopics
464Can I WinMediumBit Manipulation, Memoization, Math +3
473Matchsticks to SquareMediumBit Manipulation, Array, Dynamic Programming +2
526Beautiful ArrangementMediumBit Manipulation, Array, Dynamic Programming +2
638Shopping OffersMediumBit Manipulation, Memoization, Array +3
698Partition to K Equal Sum SubsetsMediumBit Manipulation, Memoization, Array +3
1947Maximum Compatibility Score SumMediumBit Manipulation, Array, Dynamic Programming +2
1986Minimum Number of Work Sessions to Finish the TasksMediumBit Manipulation, Array, Dynamic Programming +2
2002Maximum Product of the Length of Two Palindromic SubsequencesMediumBit Manipulation, String, Dynamic Programming +2
2305Fair Distribution of CookiesMediumBit Manipulation, Array, Dynamic Programming +2
2572Count the Number of Square-Free SubsetsMediumBit Manipulation, Array, Math +2
2741Special PermutationsMediumBit Manipulation, Array, Dynamic Programming +1
351Android Unlock PatternsPremiumMediumBit Manipulation, Dynamic Programming, Backtracking +1
1066Campus Bikes IIPremiumMediumBit Manipulation, Array, Dynamic Programming +2
2152Minimum Number of Lines to Cover PointsPremiumMediumBit Manipulation, Geometry, Array +5
2184Number of Ways to Build Sturdy Brick WallPremiumMediumBit Manipulation, Array, Dynamic Programming +1
2992Number of Self-Divisible PermutationsPremiumMediumBit Manipulation, Array, Math +4

Hard (27)

#ProblemDifficultyTopics
691Stickers to Spell WordHardBit Manipulation, Memoization, Array +5
805Split Array With Same AverageHardBit Manipulation, Array, Math +2
847Shortest Path Visiting All NodesHardBit Manipulation, Breadth-First Search, Graph +2
943Find the Shortest SuperstringHardBit Manipulation, Array, String +2
996Number of Squareful ArraysHardBit Manipulation, Array, Hash Table +4
1125Smallest Sufficient TeamHardBit Manipulation, Array, Dynamic Programming +1
1255Maximum Score Words Formed by LettersHardBit Manipulation, Array, Hash Table +5
1349Maximum Students Taking ExamHardBit Manipulation, Array, Dynamic Programming +2
1434Number of Ways to Wear Different Hats to Each OtherHardBit Manipulation, Array, Dynamic Programming +1
1494Parallel Courses IIHardBit Manipulation, Graph, Dynamic Programming +1
1595Minimum Cost to Connect Two Groups of PointsHardBit Manipulation, Array, Dynamic Programming +2
1617Count Subtrees With Max Distance Between CitiesHardBit Manipulation, Tree, Dynamic Programming +2
1655Distribute Repeating IntegersHardBit Manipulation, Array, Dynamic Programming +2
1659Maximize Grid HappinessHardBit Manipulation, Memoization, Dynamic Programming +1
1681Minimum IncompatibilityHardBit Manipulation, Array, Dynamic Programming +1
1723Find Minimum Time to Finish All JobsHardBit Manipulation, Array, Dynamic Programming +2
1755Closest Subsequence SumHardBit Manipulation, Array, Two Pointers +3
1799Maximize Score After N OperationsHardBit Manipulation, Array, Math +4
1815Maximum Number of Groups Getting Fresh DonutsHardBit Manipulation, Memoization, Array +2
1879Minimum XOR Sum of Two ArraysHardBit Manipulation, Array, Dynamic Programming +1
1994The Number of Good SubsetsHardBit Manipulation, Array, Hash Table +5
2035Partition Array Into Two Arrays to Minimize Sum DifferenceHardBit Manipulation, Array, Two Pointers +4
2172Maximum AND Sum of ArrayHardBit Manipulation, Array, Dynamic Programming +1
2791Count Paths That Can Form a Palindrome in a TreeHardBit Manipulation, Tree, Depth-First Search +2
465Optimal Account BalancingPremiumHardBit Manipulation, Array, Dynamic Programming +2
2247Maximum Cost of Trip With K HighwaysPremiumHardBit Manipulation, Graph, Dynamic Programming +1
2403Minimum Time to Kill All MonstersPremiumHardBit Manipulation, Array, Dynamic Programming +1

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.