![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
回溯问题
文章平均质量分 70
trigger333
When you work, work. When you laugh, laugh.
展开
-
回溯算法 经典题目收录
以回溯算法的经典题目作为一个专栏。主要参考:代码随想录 Leetcode回溯算法是什么?采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。回溯法通常用最简单的递归方法来实现,在反复重复上述的步骤后可能出现两种情况:找到一个可能存在的正确的答案;在尝试了所有可能的分步方法后宣告该问题没有答案。回溯法,⼀般可以解决..原创 2022-03-02 22:20:30 · 185 阅读 · 0 评论 -
排列问题 全排列I 全排列II
46.全排列要用used 数组标定本层是否选过某个数字了,那么在下一次就跳过它。class Solution { List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> permute(int[] nums) { int len = nums.length; // 使用原创 2022-03-02 21:58:49 · 166 阅读 · 0 评论 -
⼦集问题:⼀个N个数的集合⾥有多少符合条件的⼦集
第78题. ⼦集class Solution { List<Integer> t = new ArrayList<Integer>(); List<List<Integer>> ans = new ArrayList<List<Integer>>(); //[[1,2,3],[1,2, ],[1,3, ],[1, , ],[2,3, ],[2, , ],[3, , ].原创 2022-03-02 21:36:17 · 163 阅读 · 0 评论 -
切割问题:⼀个字符串按⼀定规则有⼏种切割⽅式
131.分割回⽂串class Solution { List<List<String>> res = new ArrayList<>(); List<String> tmp = new ArrayList<>(); public List<List<String>> partition(String s) { dfs(s); ..原创 2022-03-02 17:08:23 · 199 阅读 · 0 评论 -
组合问题:N个数⾥⾯按⼀定规则找出组合
组合问题:N个数⾥⾯按⼀定规则找出k个数的集合给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。k==n,只有一个结果。因为组合不考虑顺序。如果是返回结果有多少种,利用组合公式即可。class Solution { List<List<Integer>> res = new ArrayList<>(); public List<List<Intege.原创 2022-03-02 16:43:22 · 386 阅读 · 0 评论