அல்கோரிதம்meet in the middle
Meet in the middle
TT
Testlaa Team
May 14, 2026•1 min read
இரண்டு பாதி; sums enumerate; merge.
Try this in Python
def subset_sums(arr: list[int]) -> list[int]:
out = []
n = len(arr)
for mask in range(1 << n):
s = 0
for i in range(n):
if (mask >> i) & 1:
s += arr[i]
out.append(s)
return sorted(out)
a = [1, 2, 4]
print(subset_sums(a)[:8])
Key takeaways
- 2^n → 2*2^(n/2).
- Memory.
- Sort + bisect.
Tags:
Bits & subset DPPythonமாணவர்கள்
