【算法刷题day25】Leetcode:216.组合总和III 17.电话号码的字母组合

04-19 1196阅读 0评论

216.组合总和III

文档链接:[代码随想录]

【算法刷题day25】Leetcode:216.组合总和III 17.电话号码的字母组合 第1张
(图片来源网络,侵删)

题目链接:216.组合总和III

题目:

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:

使用数字1到9

每个数字 最多使用一次

【算法刷题day25】Leetcode:216.组合总和III 17.电话号码的字母组合 第2张
(图片来源网络,侵删)

返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

注意:

跟前面的一样,还挺简单的

class Solution {
public:
    vector combinationSum3(int k, int n) {
        a(k, n, 1);
        return result;
    }
private:
    vector result;
    vector path;
    int sum = 0;
    void a(int k,int n,int j){
        if(path.size() == k && sum == n){
            result.push_back(path);
        }
        for(int i = j;i 
            path.push_back(i);
            sum += i;
            a(k, n, i + 1);
            sum -= i;
            path.pop_back();
        }
    }
};

private:
    const string letterMap[10] = {
        "", // 0
        "", // 1
        "abc", // 2
        "def", // 3
        "ghi", // 4
        "jkl", // 5
        "mno", // 6
        "pqrs", // 7
        "tuv", // 8
        "wxyz", // 9
    };
    vector
        if(index == digits.size()){
            result.push_back(s);
            return ;
        }
        int digit = digits[index] - '0';
        string letters = letterMap[digit];
        for(int i = 0; i 

免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1196人围观)

还没有评论,来说两句吧...

目录[+]