标签:回溯

LeetCode 17. 电话号码的字母组合(DFS回溯)

<p>本文讲解 LeetCode 第 17 题「电话号码的字母组合」,将数字 2-9 映射为字母并求所有组合。使用递归回溯逐层枚举每组字母,并通过 StringBuilder 优化字符串拼接与撤销,给出完整 Java 代码与复杂度分析。</p>

LeetCode 216. 组合总和 III(组合型枚举)

<p>本文讲解 LeetCode 第 216 题「组合总和 III」,从 1-9 中取 k 个数使其和为 n。采用组合型枚举回溯模板,用 state 数组标记选中元素,并在搜索前进行剪枝,最后校验和是否等于目标值,附完整 Java 代码。</p>

leetcode【回溯算法—中等】77.组合

<p>本文讲解 LeetCode 77 组合,返回 [1,n] 中所有 k 个数的组合。文章给出题目描述与调试代码,先指出暴力多重循环无法应对变化的 k,再重点介绍回溯法配合 startIndex 收缩选择范围,并给出剪枝优化减少无效递归。</p>

LeetCode 78. 子集(回溯)

<p>本文讲解 LeetCode 第 78 题「子集」的回溯解法,题目要求返回不含重复元素的整数数组的所有子集。通过 begin 参数控制组合、在递归入口处收集节点,实现幂集枚举,并附完整 Java 代码与图解,帮助理解回溯中结果集的收集时机与去重思路。</p>

LeetCode 46. 全排列(回溯)

<p>本文讲解 LeetCode 第 46 题「全排列」的回溯解法,针对不含重复数字的数组求所有排列。借助访问状态数组标记已选元素,在递归到深度等于数组长度时收集结果,并配合回溯撤销选择,附完整 Java 代码与图解。</p>