Question

In a recursive subset_sum function, backtrack(index, current_subset, current_sum), to explore the option of *including* the current element arr[index], which recursive call is correct? def subset_sum(arr, target):     result = []     def backtrack(start, current_subset, current_sum):         if current_sum == target:             result.append(current_subset[:])             return         if current_sum > target or start == len(arr):             return         # Option 1: Include current element         current_subset.append(arr[start])         backtrack(__________) # Line to complete         current_subset.pop() # Backtrack         # Option 2: Exclude current element         backtrack(start + 1, current_subset, current_sum)     backtrack(0, [], 0)     return result

A start + 1, current_subset, current_sum
B start + 1, current_subset, current_sum + arr[start]
C start, current_subset, current_sum + arr[start]
D start + 1, current_subset[:], current_sum + arr[start]
E start, current_subset[:], current_sum
Practice Next

Hey! Ask a query