

Five-line solution to the Subset-sum problem (Python) - varrakesh
http://stackoverflow.com/a/14652715/1204143
A five-line Python solution to the subset-sum problem (dynamic programming, pseudopolynomial time):<p>def subset_sum(A, target):
    T = {0}
    for i in A:
        T |= {x + i for x in T}
    return target in T<p>Seems to be pretty efficient.
======
adlpz
Interesting to see actual use of sets on Python. For those like me not
familiar with the syntax there, the OR-ing (|=) is just Union minus
Intersection (because all elements of a Set are unique).

    
    
        >>> {1,2,3} | {2,4,6}
        set([1, 2, 3, 4, 6])
    

By the way, AND-ing would be a straight intersection

    
    
        >>> {1,2,3} & {2,4,6}
        set([2])

