LeetCode:39. Combination Sum(Medium)
1. 原题链接
https://leetcode.com/problems/combination-sum/description/
2. 题目要求
给定一个整型数组candidates[ ]和目标值target,找出数组中累加之后等于target的所有元素组合
注意:(1)数组中的每一个元素可以重复用;(2)数组中不存在重复元素;(3)数组中都是正整数
3. 解题思路
采用迭代的方法检验所有元素组合
4. 代码实现
import java.util.ArrayList;
import java.util.List; public class CombinationSum39 {
public static void main(String[] args) {
CombinationSum39 cs = new CombinationSum39();
int[] candidates = {,,,};
for (List l1:cs.combinationSum(candidates,)){
System.out.println(l1.toString());
System.out.println();
} }
public List<List<Integer>> combinationSum(int[] candidates, int target) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
combinationSum(result,new ArrayList<Integer>(),candidates,target,);
return result;
}
public void combinationSum(List<List<Integer>> result, List<Integer> cur, int[] candidates, int target,int start) {
if (target > ) {
for (int i = start;i < candidates.length;i++) {
cur.add(candidates[i]);
combinationSum(result, cur, candidates, target-candidates[i],i);
cur.remove(cur.size() - );
}
}
if (target == )
result.add(new ArrayList<Integer>(cur));
}
}
LeetCode:39. Combination Sum(Medium)的更多相关文章
- LeetCode:43. Multiply Strings (Medium)
1. 原题链接 https://leetcode.com/problems/multiply-strings/description/ 2. 题目要求 给定两个String类型的正整数num1.num ...
- LeetCode:36. Valid Sudoku(Medium)
1. 原题链接 https://leetcode.com/problems/valid-sudoku/description/ 2. 题目要求 给定一个 9✖️9 的数独,判断该数独是否合法 数独用字 ...
- LeetCode:16. 3Sum Closest(Medium)
1. 原题链接 https://leetcode.com/problems/3sum-closest/description/ 2. 题目要求 数组S = nums[n]包含n个整数,找出S中三个整数 ...
- LeetCode:49. Group Anagrams(Medium)
1. 原题链接 https://leetcode.com/problems/group-anagrams/description/ 2. 题目要求 给定一个字符串数组,将数组中包含相同字母的元素放在同 ...
- LeetCode:22. Generate Parentheses(Medium)
1. 原题链接 https://leetcode.com/problems/generate-parentheses/description/ 2. 题目要求 给出一个正整数n,请求出由n对合法的圆括 ...
- LeetCode:9. Palindromic Number(Medium)
原题链接:https://leetcode.com/problems/palindrome-number/description/ 1. 题目要求:判断一个int类型整数是否是回文,空间复杂度O(1) ...
- LeetCode题解39.Combination Sum
39. Combination Sum Given a set of candidate numbers (C) (without duplicates) and a target number (T ...
- [Leetcode][Python]39: Combination Sum
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 39: Combination Sumhttps://oj.leetcode. ...
- LeetCode:40. Combination Sum II(Medium)
1. 原题链接 https://leetcode.com/problems/combination-sum-ii/description/ 2. 题目要求 给定一个整型数组candidates[ ]和 ...
随机推荐
- Yii 读写分离 分表分库
本文转自 http://hudeyong926.iteye.com/blog/1299989 实现一主一从,一主多从,多主多从的读写分离 .支持DAO,AR,其中Query builder只完成部分 ...
- nodejs使用request和bluebird编写的http请求模块
var request = require("request"); var promise = require("bluebird"); //使用bluebir ...
- sourcetree创建分支与分支合并
一.Sourcetree简单介绍 通过Git可以进行对项目的版本管理,但是如果直接使用Git的软件会比较麻烦,因为是通过一条一条命令进行操作的. Sourcetree则可以与Git结合,提供图形界面 ...
- Mybatis——实体类属性名和数据库字段名不同时的解决方案
数据库的字段: 对应的实体类: 方案一: 在XML映射文件中使用的resultMap,优点:可以被重复使用. <resultMap id="BaseResultMap" ty ...
- logback配置与使用(2)
转载:yaoh371 的logback.xml常用配置 <?xml version="1.0" encoding="UTF-8"?> <!-- ...
- [转] 有关java中两个整数的交换问题
转载申明:本文主要是用于自己学习使用,为了完善自己的只是框架,没有任何的商业目的. 原文来源:有关Java中两个整数的交换问题 如果侵权,麻烦告之,立刻删除. 在程序开发的过程,要交换两个变量的内容, ...
- DB2 编目并访问远程数据库
之后将逐步对项目上的DB2相关经验做个总结,梳理一下知识结构. 要远程操作数据库,首先要进行编目,分三个步骤: 1. 在客户端建立服务器端数据库的节点,编目远程节点. 格式如下: 1. CATALOG ...
- ffmpeg 从mp4上提取H264的nalu
转自http://blog.csdn.net/gavinr/article/details/7183499 1.获取数据 ffmpeg读取mp4中的H264数据,并不能直接得到NALU,文件中也没有储 ...
- BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析
重构代码,方法抛出异常:BindingException: Invalid bound statement (not found) 提示信息很明显:mybatis没有提供某方法 先不解释问题原因和排查 ...
- Winodws SNMP服务安装和配置(Windows 2003 & 2008 R2)
简单网络管理协议SNMP服务起着代理的作用,它会收集可以向SNMP管理站或控制台报告的信息.您可以使用SNMP服务来收集数据,并且在整个公司网络范围内管理基于Windows Server 2003.M ...