LeetCode Combination Sum III

来源:互联网 发布:java通信软件培训 编辑:程序博客网 时间:2024/05/17 09:15

LeetCode Combination Sum III

题目

这里写图片描述

思路

DFS

代码

class Solution {public:    vector<vector<int>> Ans;    vector<int> AnAns;    int K;    int N;    vector<vector<int> > combinationSum3(int k, int n) {        K = k;        N = n;        Ans.clear();        AnAns.resize(k);        for (int i = 1; i <= 9; i++) AnAns[0] = i, DFS(i, 1);        return Ans;    }    void DFS(int sum, int p) {        if (p == K) {            if (sum == N) Ans.push_back(AnAns);            return;        }        for (int i = AnAns[p - 1] + 1; i <= 9; i++) {            if (sum + i <= N) {                AnAns[p] = i;                DFS(sum + i, p + 1);            }            else return;        }    }};
1 0