Cody

# Problem 43. Subset Sum

Solution 1477939

Submitted on 3 Apr 2018 by Sumeet Gadagkar
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
v = [2, 3, 5]; n = 8; correct = [2, 3]; actual = subset_sum(v, n); assert(isequal(actual, correct))

ind = [] possibilities = 2 3 5 idx = 3×1 logical array 0 0 0 possibilities = 2 3 2 5 3 5 idx = 3×1 logical array 0 0 1 nums = 3 5 p = 3 5 ind = 2 p = 3 5 ind = 2 3 possibilities = 2 3 5 idx = logical 0 ans = []

2   Pass
v = [5, 3, 2]; n = 2; correct = 3; actual = subset_sum(v, n); assert(isequal(actual, correct))

ind = [] possibilities = 5 3 2 idx = 3×1 logical array 0 0 1 nums = 2 p = 2 ind = 3 possibilities = 5 3 5 2 3 2 idx = 3×1 logical array 0 0 0 possibilities = 5 3 2 idx = logical 0 ans = []

3   Pass
v = [2, 3, 5]; n = 4; correct = []; actual = subset_sum(v, n); assert(isequal(actual, correct))

ind = [] possibilities = 2 3 5 idx = 3×1 logical array 0 0 0 possibilities = 2 3 2 5 3 5 idx = 3×1 logical array 0 0 0 possibilities = 2 3 5 idx = logical 0 ans = []

4   Pass
v = [1, 1, 1, 1, 1]; n = 5; correct = [1, 2, 3, 4, 5]; actual = subset_sum(v, n); assert(isequal(actual, correct))

ind = [] possibilities = 1 1 1 1 1 idx = 5×1 logical array 0 0 0 0 0 possibilities = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 idx = 10×1 logical array 0 0 0 0 0 0 0 0 0 0 possibilities = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 idx = 10×1 logical array 0 0 0 0 0 0 0 0 0 0 possibilities = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 idx = 5×1 logical array 0 0 0 0 0 possibilities = 1 1 1 1 1 idx = logical 1 nums = 1 1 1 1 1 p = 1 ind = 1 2 3 4 5 ans = []

5   Pass
v = [1, 2, 3, 4, 100]; n = 100; correct = 5; actual = subset_sum(v, n); assert(isequal(actual, correct))

ind = [] possibilities = 1 2 3 4 100 idx = 5×1 logical array 0 0 0 0 1 nums = 100 p = 100 ind = 5 possibilities = 1 2 1 3 1 4 1 100 2 3 2 4 2 100 3 4 3 100 4 100 idx = 10×1 logical array 0 0 0 0 0 0 0 0 0 0 possibilities = 1 2 3 1 2 4 1 2 100 1 3 4 1 3 100 1 4 100 2 3 4 2 3 100 2 4 100 3 4 100 idx = 10×1 logical array 0 0 0 0 0 0 0 0 0 0 possibilities = 1 2 3 4 1 2 3 100 1 2 4 100 1 3 4 100 2 3 4 100 idx = 5×1 logical array 0 0 0 0 0 possibilities = 1 2 3 4 100 idx = logical 0 ans = []

6   Pass
v = [-7, -3, -2, 8, 5]; n = 0; correct = [2, 3, 5]; actual = subset_sum(v, n); assert(isequal(actual, correct))

ind = [] possibilities = -7 -3 -2 8 5 idx = 5×1 logical array 0 0 0 0 0 possibilities = -7 -3 -7 -2 -7 8 -7 5 -3 -2 -3 8 -3 5 -2 8 -2 5 8 5 idx = 10×1 logical array 0 0 0 0 0 0 0 0 0 0 possibilities = -7 -3 -2 -7 -3 8 -7 -3 5 -7 -2 8 -7 -2 5 -7 8 5 -3 -2 8 -3 -2 5 -3 8 5 -2 8 5 idx = 10×1 logical array 0 0 0 0 0 0 0 1 0 0 nums = -3 -2 5 p = -3 -2 5 ind = 2 p = -3 -2 5 ind = 2 3 p = -3 -2 5 ind = 2 3 5 possibilities = -7 -3 -2 8 -7 -3 -2 5 -7 -3 8 5 -7 -2 8 5 -3 -2 8 5 idx = 5×1 logical array 0 0 0 0 0 possibilities = -7 -3 -2 8 5 idx = logical 0 ans = []