코테준비 - Combination Sum

정상화·2023년 2월 26일

LeetCode

목록 보기
37/222

Combination Sum

class Solution {
private:
    vector<vector<int>> combinations;
public:
    vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
        vector<int>::iterator it;
        for (it = candidates.begin(); it != candidates.end(); it++) {
            int sum = 0;
            vector<int> combination;
            recursive(it, sum, combination, candidates, target);
        }
        return combinations;
    }

    void recursive(vector<int>::iterator it, int sum, vector<int>combination, vector<int>& candidates, int target){
        int num = *it;
        sum += num;
        combination.push_back(num);
        if (sum == target) {
            combinations.emplace_back(combination);
            return;
        } else if (sum > target) {
            return;
        }
        for (auto _it = it; _it != candidates.end(); _it++) {
            recursive(_it, sum, combination, candidates, target);
        }
    }
};
profile
백엔드 희망

0개의 댓글