Combination Sum II

原创 2015年11月19日 16:19:01
此题回朔,注意加入前避免重复
class Solution {
public:
    vector<vector<int>> ret;
public:
    vector<vector<int>> combinationSum2(vector<int>& can, int target) {
        if(can.size()<1) return ret;
        sort(can.begin(),can.end());
        vector<int> temp;
        if(target<can[0]) return ret;
        //temp.push_back(can[0]);
        bt(can,temp,target,0,target);
        return ret;
        
    }
     void bt(vector<int>&can,vector<int> ans_vec,int ans,int next_pos,int target){
        if(ans<0){
            return;
        }
        if(target<=0) return ;
        if(ans==0){
            for(int i=0;i<ret.size();i++){
                if(ret[i]==ans_vec) return;  //最后在这里判断是不是和以前的数组重复了
            }
            ret.push_back(ans_vec);
            return ;
        }
        for(int i=next_pos;i<can.size();i++){
            if(ans>=can[i]){
                vector<int> temp=ans_vec;
                temp.push_back(can[i]);
                bt(can,temp,ans-can[i],i+1,target);
            }
            
        }
        
    }
};

相关文章推荐

LeetCode 39. Combination Sum II

和LeetCode 38. Combination Sum

LeetCode_40---Combination Sum II

Given a collection of candidate numbers (C) and a target number (T), find all unique combinations ...

leetcode Combination Sum II回溯问题

最近一直在看回溯算法的框架,这道题代表性比较强,用到剪枝(重复1),和约束(超过界限直接return)。 先贴下一般的回溯算法的框架。 引用自这个bolg http://blog.jqian.net/...

Leetcode #40. Combination Sum II 组合求和2 解题报告

1 解题思想这道题是昨天的升级版,先看看这个 Leetcode #39. Combination Sum 组合求和 解题报告这道题的改变就是每个位置的数只能用一次了,但是如果本身就给了多个的话就无...
  • MebiuW
  • MebiuW
  • 2016年04月11日 23:57
  • 506

LeetCode40 Combination Sum II 解析

详细见:leetcode.com/problems/combination-sum-ii C和Python的去重算法,应该记住。 Java是很久之前写的,并不好。 规则是:相同数字。 ...
  • zxwtry
  • zxwtry
  • 2017年04月06日 22:20
  • 122

LeetCode OJ算法题(三十九):Combination Sum II

题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combin...
  • op_yu
  • op_yu
  • 2014年07月25日 12:26
  • 257

[leetcode] 040. Combination Sum II (Medium) (C++)

[leetcode] 040. Combination Sum II (Medium) (C++)
  • hcbbt
  • hcbbt
  • 2015年08月08日 08:33
  • 1442

[LeetCode-Java]40. Combination Sum II

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

Combination Sum I/II - Leetcode

Combination Sum Given a set of candidate numbers (C) and a target number (T), find all unique comb...

Leetcode 40. Combination Sum II

Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Combination Sum II
举报原因:
原因补充:

(最多只允许输入30个字)