40. Combination Sum II
2016-03-19 20:51
483 查看
//与上一题区别不大,只是需要判断,别与之前的重复。8ms class Solution { public: void backtracking(vector<vector<int>> &v,vector<int> &temp,vector<int> &candidates,int target,int index) { if(target==0) { v.push_back(temp); return; } for(int i=index;i<candidates.size();i++) { if(candidates[i]>target) break; if(temp.size()==0&&i!=0&&candidates[i]==candidates[i-1]) continue; if(v.size()!=0&&v[v.size()-1].size()>temp.size()&&v[v.size()-1][temp.size()]==candidates[i]) { bool flag=true; for(int j=0;j<temp.size();j++) { if(v[v.size()-1][j]!=temp[j]) { flag=false; break; } } if(flag) continue; } temp.push_back(candidates[i]); backtracking(v,temp,candidates,target-candidates[i],i+1); temp.pop_back(); } } vector<vector<int>> combinationSum2(vector<int>& candidates, int target) { vector<vector<int>> v; sort(candidates.begin(),candidates.end()); vector<int> temp; backtracking(v,temp,candidates,target,0); return v; } };
相关文章推荐
- 第4周-项目5-(4)
- HDOJ 1060 Leftmost Digit
- PowerDesigner——PowerDesigner 表名、字段大小写转换
- 最小表示法
- Win10+VS2013+CUDA7.5 Caffe 配置过程
- Viewpager+Fragment实现滚动效果
- 初识Java
- Toolbar中无法显示optionMenu中icon的问题
- 作为一位资深Java程序员应该注意的几点
- 一张图搞定多变量微积分
- A hexo theme inspired by vuejs.org 搭建了个博客
- 19.位运算实战演练
- 全排列
- 第四周项目5递归求阶乘2
- 求一个数的阶乘
- ExtJs之工具栏及菜单栏
- android高级---->AsyncTask的源码分析
- 20145215《Java程序设计》第3周学习总结
- JAVA数据加密——MD5加密,SHA加密,BASE64解密,BASE64加密,HMAC加密
- JDBC与反射