Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Combination Sum II #63

Closed
Tracked by #100
fkdl0048 opened this issue Oct 6, 2024 · 0 comments
Closed
Tracked by #100

Combination Sum II #63

fkdl0048 opened this issue Oct 6, 2024 · 0 comments
Assignees
Labels
Milestone

Comments

@fkdl0048
Copy link
Owner

fkdl0048 commented Oct 6, 2024

class Solution {
public:
    vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {
        vector<vector<int>> result;
        vector<int> currentCombination;

        sort(candidates.begin(), candidates.end());
        backTrack(candidates, target, 0, currentCombination, result);
        return result;
    }

private:
    void backTrack(vector<int>& candidates, int target, int index, vector<int>& currentCombination, vector<vector<int>>& result) {
        if (target == 0) {
            result.push_back(currentCombination);
            return;
        }

        if (target < 0) return;

        for (int i = index; i < candidates.size(); i++) {

            if (i > index && candidates[i] == candidates[i - 1]) continue;

            currentCombination.push_back(candidates[i]);
            backTrack(candidates, target - candidates[i], i + 1, currentCombination, result);
            currentCombination.pop_back();
        }
    }
};
  • Combination Sum문제랑 비슷한 개념으로 중복을 허용하지 않기에, 정렬한 후 중복을 제거하는 로직을 추가한다.
  • 추가로 i + 1하여 같은 숫자에 대한 계산을 줄인다.
@fkdl0048 fkdl0048 mentioned this issue Oct 6, 2024
7 tasks
@fkdl0048 fkdl0048 self-assigned this Oct 6, 2024
@fkdl0048 fkdl0048 added this to Todo Oct 6, 2024
@github-project-automation github-project-automation bot moved this to Todo in Todo Oct 6, 2024
@fkdl0048 fkdl0048 added this to the LeetCode milestone Oct 6, 2024
@fkdl0048 fkdl0048 moved this from Todo to Two-Week Plan in Todo Oct 6, 2024
@fkdl0048 fkdl0048 closed this as completed Oct 8, 2024
@github-project-automation github-project-automation bot moved this from Two-Week Plan to Done in Todo Oct 8, 2024
@fkdl0048 fkdl0048 mentioned this issue Oct 15, 2024
47 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

1 participant