上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 22 下一页
摘要: 题目链接 47. 全排列 II 思路 借用代码随想录的图。 以最右侧的分支为例,首先将 2 摆在第一位,剩下两个 1,在走完左边的 1 分支之后,对右边的 1 进行判断,发现右边的 1 还是和左边的一样,摆在第二个位置上(因为 used[i - 1] == false,说明左边的 1 没有使用)。因 阅读全文
posted @ 2023-03-06 14:31 Frodo1124 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 题目链接 46. 全排列 思路 本题是求排列问题.与组合问题不同的是,在排列问题中,不同的数字顺序被视为不同的排列,比如 [1,2] 与 [2,1] 是两种不同的排列。 搜索树如下图所示,引用自代码随想录 在组合问题的 dfs 算法上进行一点小修改即可,参考【DFS】LeetCode 78. 子集的 阅读全文
posted @ 2023-03-06 13:20 Frodo1124 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 题目链接 90. 子集 II 思路 去重方法与【DFS】LeetCode 40. 组合总和 II思路相似 代码 class Solution { private List<List<Integer>> result = new ArrayList<>(); private Deque<Integer 阅读全文
posted @ 2023-03-06 11:42 Frodo1124 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 题目链接 78. 子集 思路 求子集问题和 77.组合 (opens new window) 和 131.分割回文串 (opens new window) 又不一样了。 如果把子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点! 其 阅读全文
posted @ 2023-03-06 10:50 Frodo1124 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 题目链接 216. 组合总和 III 思路 与 【DFS】LeetCode 40. 组合总和 II 思路一致,只不过 candidates 数组在题目中明确说明了只有1到9。 代码 class Solution { private List<List<Integer>> result = new A 阅读全文
posted @ 2023-03-06 09:43 Frodo1124 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题目 40. 组合总和 II 思路 一道经典的排列组合去重问题,搜索的思路很简单,关键在于如何去重。 借用一下代码随想录的图 去重的工作实际上就是判断同一层上的相同元素是否已经被用过。即如果 candidates[i] == candidates[i - 1] 并且 used[i - 1] == f 阅读全文
posted @ 2023-03-03 20:30 Frodo1124 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目链接 40. 组合总和 II 思路 一道经典的排列组合去重问题,搜索的思路很简单,关键在于如何去重。 借用一下代码随想录的图 去重的工作实际上就是判断同一层上的相同元素是否已经被用过。即如果 candidates[i] == candidates[i - 1] 并且 used[i - 1] == 阅读全文
posted @ 2023-03-03 17:06 Frodo1124 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 题目链接 39. 组合总和 思路 使用 DFS 进行排列组合,首先判断结束递归条件: sum > target sum == target index == len 因为每个数能取无限次,所以从 0 开始慢慢将 candidates[index] 加入到 sum 中,直到 sum > target, 阅读全文
posted @ 2023-03-02 13:28 Frodo1124 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 题目链接 17. 电话号码的字母组合 思路 使用 DFS 进行枚举。 代码 class Solution { private HashMap<Character, char[]> map = new HashMap<>(); private List<String> result = new Arr 阅读全文
posted @ 2023-03-02 12:40 Frodo1124 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题目链接 131. 分割回文串 思路 使用 DFS,同时依次检查分割的字符串是否是回文串。 注意:需要频繁添加删除末尾元素时,可以使用 Deque 代码 class Solution { private List<List<String>> result = new ArrayList<>(); p 阅读全文
posted @ 2023-03-02 12:23 Frodo1124 阅读(25) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 22 下一页