Given a set of integers, find all unique combinations that sum up to a target value.
Implement find_combinations(nums, target), using each input element at most once. The input contains nonnegative integers, and duplicate values must not produce duplicate combinations.
Return a list of combinations, with each combination sorted in nondecreasing order and the result generated in lexicographic order. Return [[]] when target is zero and no elements are selected.
def find_combinations(nums, target):