当前位置: 首页> 娱乐> 明星 > 深圳全网推广小程序制作_现在去石家庄会被隔离吗_网奇seo赚钱培训_app开发公司排名

深圳全网推广小程序制作_现在去石家庄会被隔离吗_网奇seo赚钱培训_app开发公司排名

时间:2025/7/11 14:04:07来源:https://blog.csdn.net/2401_86941858/article/details/144158179 浏览次数:0次
深圳全网推广小程序制作_现在去石家庄会被隔离吗_网奇seo赚钱培训_app开发公司排名

刷题分享

1.(力扣216)这是一道回溯算法的经典题目。对于回溯算法,一般backtracking是没有返回值的,参数也比较不固定,需要根据每个题的特点来具体分析。这道题因为不能取到重复元素,所以需要额外加一个参数startindex,用来记录每一次开始时所应该取到的元素。在循环内部,一般的逻辑是(单层操作 + 递归 + 回溯),其实回溯的本质就是在递归处理完该层向下的层后,将该层恢复成一开始达到该层时的状态,以便向上返回进行别的分支。所以也叫(恢复现场)

class Solution {
public:vector<vector<int>> res;vector<int> path;void backtracking(int k, int exnum, int sum, int startindex) {if (sum == exnum && k == path.size()) {res.push_back(path);return;}for (int i = startindex; i <= 9; i++) {sum += i;path.push_back(i);backtracking(k, exnum, sum, i + 1);sum -= i;path.pop_back();}}vector<vector<int>> combinationSum3(int k, int n) {backtracking(k, n, 0, 1);return res;}
};

2.(力扣17)首先该题要先使用一个数组,来存放对应位置上的字符串,另外,该题中有一个特殊的参数index,是用来标记现在已经处理到了输入字符串中的哪一个,所以结束条件是(index==digits.size())变量digit是用来存放当前这一层所要操作的字符串的

class Solution {
public:vector<string> res;string path;string help[10]{"",    "",    "abc",  "def", "ghi","jkl", "mno", "pqrs", "tuv", "wxyz"};void backtracking(string& digits, int index) {if (index == digits.size()) {res.push_back(path);return;}string digit = help[digits[index] - '0'];for (int i = 0; i < digit.size(); i++) {path.push_back(digit[i]);backtracking(digits, index + 1);path.pop_back();}}vector<string> letterCombinations(string digits) {if (digits.size() == 0) {return res;}backtracking(digits, 0);return res;}
};

关键字:深圳全网推广小程序制作_现在去石家庄会被隔离吗_网奇seo赚钱培训_app开发公司排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: