zoukankan      html  css  js  c++  java
  • [LeetCode]Combination Sum II

    题目描述:

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.

    Each number in C may only be used once in the combination.

    Note:

    • All numbers (including target) will be positive integers.
    • Elements in a combination (a1, a2, … , ak) must be in non-descending order. (ie, a1 ≤ a2 ≤ … ≤ ak).
    • The solution set must not contain duplicate combinations.

    For example, given candidate set 10,1,2,7,6,1,5 and target 8
    A solution set is: 
    [1, 7] 
    [1, 2, 5] 
    [2, 6] 
    [1, 1, 6] 

    解题思路:

    similar to (http://www.cnblogs.com/skycore/p/5261412.html)

     1 class Solution {
     2 public:
     3     vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {
     4         sort(candidates.begin(), candidates.end());
     5         vector<vector<int>> result;
     6         vector<int> elem;
     7         combinationSum2(candidates, target, 0, result, elem);
     8         return result;
     9     }
    10 private:
    11     void combinationSum2(vector<int>& candidates, int target, int index, vector<vector<int>> &result, vector<int> &elem) {
    12         if (target == 0) {
    13             result.push_back(elem);
    14             return;
    15         }
    16         
    17         for (int i = index; i < candidates.size() && candidates[i] <= target; ++i) {
    18             if (i > index && candidates[i] == candidates[i - 1]) continue;
    19             elem.push_back(candidates[i]);
    20             combinationSum2(candidates, target - candidates[i], i + 1, result, elem);
    21             elem.pop_back();
    22         }
    23     }
    24 };
     
  • 相关阅读:
    540C: Ice Cave
    540B :School Marks
    欧拉工程第52题:Permuted multiples
    欧拉工程第51题:Prime digit replacements
    C. Tourist's Notes
    B. Quasi Binary
    Keepalived安装后出现的问题总结
    Keepalived+HAproxy实现高可用负载均衡
    CentOS.56安装Redis监控工具RedisLive
    Redis+Keepalived主从热备秒级切换
  • 原文地址:https://www.cnblogs.com/skycore/p/5261484.html
Copyright © 2011-2022 走看看