leetcode--40. Combination Sum II
来源:互联网 发布:python hexdump 编辑:程序博客网 时间:2024/06/07 01:30
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.
- 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]]
class Solution {public: vector<vector<int>> combinationSum2(vector<int>& candidates, int target) { //Don't disturbing the original array vector<int> can(candidates.begin(), candidates.end()); //!!! Here needs to sort the array, because we need to jump the same elements sort(can.begin(), can.end()); //Backtracing vector<vector<int>> ret; vector<int> tmp; bt(can, tmp, target, 0, ret); return ret; } private: void bt(vector<int> &can, vector<int> &tmp, int target, int start, vector<vector<int>> &ret){ if(target < 0) return; if(target == 0) ret.push_back(tmp); for(int i = start; i<can.size(); i++){ if(i > start && can[i] == can[i-1]) continue; //To jump the same element tmp.push_back(can[i]); //Next tracing should input i+1, because reuse is illeagal bt(can, tmp, target-can[i], i+1, ret); tmp.pop_back(); } }};
阅读全文
0 0
- [LeetCode]40.Combination Sum II
- LeetCode --- 40. Combination Sum II
- LeetCode 40.Combination Sum II
- [Leetcode] 40. Combination Sum II
- LeetCode 40. Combination Sum II
- [leetcode] 40. Combination Sum II
- 40. Combination Sum II LeetCode
- leetcode 40. Combination Sum II
- Leetcode 40. Combination Sum II
- LeetCode 40. Combination Sum II
- leetcode 40. Combination Sum II
- LeetCode 40. Combination Sum II
- LeetCode 40. Combination Sum II
- LeetCode *** 40. Combination Sum II
- 【LeetCode】40. Combination Sum II
- leetcode 40. Combination Sum II
- LeetCode - 40. Combination Sum II
- [LeetCode] 40. Combination Sum II
- JavaScript高级程序设计 Chapter 7 关于函数、闭包的笔记和理解
- MSC-Generator 的语法
- 用虚拟机安装linux
- 鸟哥私房菜 第十二章 正则表达式与文件格式化处理
- 模拟头条
- leetcode--40. Combination Sum II
- 基于Spark1.6使用Spark SQL和sqlite数据库进行诗歌查询及自动集句
- 让开发自动化持续重构 --使用静态分析工具识别代码味道
- HDU 1058 Humble Numbers
- Mac 上安装 Android开发环境
- jquery判断邮箱的正确格式
- MAsynctask
- FDD and HDD
- 鼠标拖拽功能实现