Subset Sums (GFG)

class Solution:
    def subsetSums(self, arr):
        
        def rec(ix, A, csum, res):
            if ix == len(A):
                res.append(csum)
                return
            
            rec(ix + 1, arr, csum + A[ix], res)
            rec(ix + 1, arr, csum, res)
        
        result = []
        rec(0, arr, 0, result)
        return result