dfs and recursion, avoid duplication, combination sum ii