自己建网站能赚钱吗无锡百姓网推广代理商
news/
2025/9/23 10:09:24/
文章来源:
自己建网站能赚钱吗,无锡百姓网推广代理商,万柏林网站建设,盘锦网站建设报价撤销当前的操作
使用原因及解决的问题
基本上暴力搜索的问题 适用于 组合问题 [1,2,3,4] 两位数的组合有哪些切割问题 给定字符串,求切割方式使其字串都是回文子串子集问题 求 [1,2,3,4] 的子集排列组合 组合(不强调顺序)棋盘问题
如何理解回溯法
抽象为一个树形结构
回溯…撤销当前的操作
使用原因及解决的问题
基本上暴力搜索的问题 适用于 组合问题 [1,2,3,4] 两位数的组合有哪些切割问题 给定字符串,求切割方式使其字串都是回文子串子集问题 求 [1,2,3,4] 的子集排列组合 组合(不强调顺序)棋盘问题
如何理解回溯法
抽象为一个树形结构
回溯模板
void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择本层集合中元素树中节点孩子的数量就是集合的大小) {处理节点;backtracking(路径选择列表); // 递归回溯撤销处理结果}
}回溯三部曲
确定参数返回值确定终止条件确定单层搜索的逻辑
典型题目
组合问题
多层for循环解决的问题 77. 组合 - 力扣LeetCode 216. 组合总和 III - 力扣LeetCode 17. 电话号码的字母组合 - 力扣LeetCode 力扣39,40 [!NOTE] 电话号码的组合 给定一个仅包含数字 2-9 的字符串返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射与电话按键相同。注意 1 不对应任何字母。 示例 1 **输入**digits “23” 输出[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”] 数字到字母的映射 可以使用map或者定义一个二维数组例如string letterMap[10]来做映射我这里定义一个二维数组代码如下
const string letterMap[10] {, // 0, // 1abc, // 2def, // 3ghi, // 4jkl, // 5mno, // 6pqrs, // 7tuv, // 8wxyz, // 9
};class Solution {//设置全局列表存储最后的结果ListString list new ArrayList();public ListString letterCombinations(String digits) {if (digits null || digits.length() 0) {return list;}//初始对应所有的数字为了直接对应2-9新增了两个无效的字符串String[] numString {, , abc, def, ghi, jkl, mno, pqrs, tuv, wxyz};//迭代处理backTracking(digits, numString, 0);return list;}//每次迭代获取一个字符串所以会设计大量的字符串拼接所以这里选择更为高效的 StringBuildStringBuilder temp new StringBuilder();//比如digits如果为23,num 为0则str表示2对应的 abcpublic void backTracking(String digits, String[] numString, int num) {//遍历全部一次记录一次得到的字符串if (num digits.length()) {list.add(temp.toString());return;}//str 表示当前num对应的字符串String str numString[digits.charAt(num) - 0];for (int i 0; i str.length(); i) {temp.append(str.charAt(i));//cbackTracking(digits, numString, num 1);//剔除末尾的继续尝试temp.deleteCharAt(temp.length() - 1);}}
}切割问题
类似组合问题 字符串 131. 分割回文串 - 力扣LeetCode
93. 复原 IP 地址 - 力扣LeetCode
子集问题
这个题一直没对 78. 子集 - 力扣LeetCode 收集每个节点,而不只是叶子节点 90. 子集 II - 力扣LeetCode 收集节点时的去重操作,遇到本层相同元素则跳过
还有回溯算法最后一天没有做(太难了,之后再看吧)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912158.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!