1 2 3 4 5 6 7 8 9 10 11 12 13
| def solution(numbers, target): result = 0 answer = dfs(result, numbers, target) return answer
def dfs(result, numbers, target): if len(numbers) == 1: if result + numbers[0] == target or result - numbers[0] == target: return 1 else: return 0 else: return dfs(result + numbers[0], numbers[1:], target) + dfs(result - numbers[0], numbers[1:], target)
|