网站备案 修改,色盲图,在小网站上做点击广告,荆门网络推广代码随想录算法训练营第二十五天 | LeetCode216.组合总和III、17.电话号码的字母组合 一、77. 组合
解题代码C#xff1a;
class Solution {
private:vectorvectorint result; // 存放结果集vectorint path; // 符合条件的结果void backtracking(in…代码随想录算法训练营第二十五天 | LeetCode216.组合总和III、17.电话号码的字母组合 一、77. 组合
解题代码C
class Solution {
private:vectorvectorint result; // 存放结果集vectorint path; // 符合条件的结果void backtracking(int targetSum, int k, int sum, int startIndex) {if (sum targetSum) { // 剪枝操作return; }if (path.size() k) {if (sum targetSum) result.push_back(path);return; // 如果path.size() k 但sum ! targetSum 直接返回}for (int i startIndex; i 9 - (k - path.size()) 1; i) { // 剪枝sum i; // 处理path.push_back(i); // 处理backtracking(targetSum, k, sum, i 1); // 注意i1调整startIndexsum - i; // 回溯path.pop_back(); // 回溯}}public:vectorvectorint combinationSum3(int k, int n) {result.clear(); // 可以不加path.clear(); // 可以不加backtracking(n, k, 0, 1);return result;}
};
题目链接/文章讲解/视频讲解 https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8CIII.html 二、17.电话号码的字母组合
解题代码C
class Solution {
private:const string letterMap[10] {, // 0, // 1abc, // 2def, // 3ghi, // 4jkl, // 5mno, // 6pqrs, // 7tuv, // 8wxyz, // 9};
public:vectorstring result;void getCombinations(const string digits, int index, const string s) { // 注意参数的不同if (index digits.size()) {result.push_back(s);return;}int digit digits[index] - 0;string letters letterMap[digit];for (int i 0; i letters.size(); i) {getCombinations(digits, index 1, s letters[i]); // 注意这里的不同}}vectorstring letterCombinations(string digits) {result.clear();if (digits.size() 0) {return result;}getCombinations(digits, 0, );return result;}
};
题目链接/文章讲解/视频讲解 https://programmercarl.com/0017.%E7%94%B5%E8%AF%9D%E5%8F%B7%E7%A0%81%E7%9A%84%E5%AD%97%E6%AF%8D%E7%BB%84%E5%90%88.html