LeetCode-40-Combination Sum II(DFS)-Medium
来源:互联网 发布:罗百吉 什么世界 知乎 编辑:程序博客网 时间:2024/05/01 11:39
题意理解:
同39,但是,
1)要求同一元素不能重复使用;
2)输入元素中可能出现重复的内容,所以,剪枝过程要再39的基础上做调整;
解题代码:
class Solution {private: vector<vector<int>> ans; void dfs(vector<int> candi, int index, vector<int> preAns, int tar){ int size=candi.size(); if(index>size){ return; } int pre=-1; for(int i=index; i<size; i++){ if(candi[i]==pre){ continue; } vector<int> t(preAns); t.push_back(candi[i]); if(candi[i]<tar){ pre=candi[i]; dfs(candi, i+1, t, tar-candi[i]); }else if(candi[i]>tar){ return; }else{ ans.push_back(t); return; } } } public: vector<vector<int>> combinationSum2(vector<int>& candidates, int target) { sort(candidates.begin(), candidates.end()); vector<int> pre; dfs(candidates, 0, pre, target); return ans; }};
0 0
- LeetCode-40-Combination Sum II(DFS)-Medium
- [Leetcode 40, Medium] Combination Sum II
- LeetCode Combination Sum II DFS
- leetcode---combination-sum-ii---dfs
- LeetCode-39-Combination Sum(DFS)-Medium
- [leetcode] 040. Combination Sum II (Medium) (C++)
- Leetcode 40. Combination Sum II (Medium) (cpp)
- Leetcode 40. Combination Sum II (Medium) (java)
- Leetcode: 40. Combination Sum II(Week13, Medium)
- Medium 40题 Combination Sum II
- Leetcode 39 - Combination Sum I, II, III(dfs)
- LeetCode(40) Combination Sum II
- LeetCode(40)--Combination Sum II
- LeetCode--Combination Sum(DFS)
- 40. Combination Sum II -Medium
- 40. Combination Sum II Medium
- [leetcode]40. Combination Sum II ,python实现【medium难度】
- 40.leetcode Combination Sum II(medium)[递归回溯]
- ---写在2016年伊始---
- Python 把矩阵转为list
- unity的界面介绍
- 123
- 【science封面文章】Human-level concept learning through probabilistic program induction
- LeetCode-40-Combination Sum II(DFS)-Medium
- ResourceBundle和Properties
- 今天遇到一个乱码问题
- Spring JPA Hibernate problem: LazyInitializationException: could not initialize proxy no session
- POJ088滑雪(记忆化搜索|动态规划)
- 自定义控件之流式布局
- c#解析Json数据
- 一台MySQL服务器启动多个端口
- 利用Python进行机器学习和数据挖掘概述