LeetCode 第39题:组合总和——找到目标和的神奇组合。
大家好,欢迎来到「LeetCode趣味解题:算法也能这么玩」。这次,我们来聊聊 LeetCode 第39题——“组合总和”。这个问题就像是我们在超市购物,需要找到各种商品的组合,使它们的总价格正好等于我们的预算。准备好了吗?让我们一起探索这个有趣的问题,找到那些神奇的组合。
题目介绍
题目要求我们给定一个无重复元素的数组 candidates
和一个目标值 target
,找出 candidates
中所有可以使数字和为 target
的组合。
candidates
中的数字可以无限制重复被选取。
例如:
-
输入:
candidates = [2,3,6,7], target = 7
-
输出:
[[7],[2,2,3]]
-
输入:
candidates = [2,3,5], target = 8
-
输出:
[[2,2,2,2],[2,3,3],[3,5]]
思路分析
这个问题的解决方案可以归结为回溯法。回溯法是一种尝试所有可能解的搜索方法,它通过递归来实现,在搜索的过程中如果发现当前选择不符合条件,则进行回退并尝试其他选择。
方法:回溯法
回溯法就像是在迷宫中寻找出口