Explain partition equal subset sum.
01
01
Understand the problem
dpsubset
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Subset-sum boolean DP
Run Playgrounddef can_partition(nums):
total = sum(nums)
if total % 2 != 0:
return False
target = total // 2
dp = [False] * (target + 1)
dp[0] = True
for x in nums:
for s in range(target, x - 1, -1): # downward = use each x once
dp[s] = dp[s] or dp[s - x]
return dp[target]
# --- demo ---
print(can_partition([1, 5, 11, 5])) # True ({1,5,5} and {11})
print(can_partition([1, 2, 3, 5])) # False (odd total)05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.