博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode : comobination sum [经典回溯]
阅读量:4923 次
发布时间:2019-06-11

本文共 1239 字,大约阅读时间需要 4 分钟。

Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.

The same repeated number may be chosen from C unlimited number of times.

Note:

  • All numbers (including target) will be positive integers.
  • The solution set must not contain duplicate combinations.

 

For example, given candidate set [2, 3, 6, 7] and target 7

A solution set is: 

[  [7],  [2, 2, 3]]
public class Solution {    public List
> combinationSum(int[] candidates, int target) { List
> result = new ArrayList
>(); if(candidates == null || candidates.length == 0) { return result; } List
list = new ArrayList
(); Arrays.sort(candidates); helper(result, list, candidates, target, 0); return result; } public void helper(List
> result, List
list, int[] nums, int remains, int position) { if(remains < 0) { return; } if(remains == 0) { result.add(new ArrayList
(list)); } for(int i = position; i < nums.length; i++) { list.add(nums[i]); helper(result, list, nums, remains - nums[i],i); list.remove(list.size() - 1); } } }

  

转载于:https://www.cnblogs.com/superzhaochao/p/6436177.html

你可能感兴趣的文章
网页上实现 Project 甘特图
查看>>
AttributeError: '_csv.reader' object has no attribute 'next'
查看>>
八大排序算法
查看>>
Meteor部
查看>>
WindowsPhone 在 根据公历 获取月球日期数据
查看>>
数字金额大小写转换
查看>>
【翻译mos文章】Linux x86 and x86-64 系统SHMMAX最大
查看>>
AWS Credentials 使用
查看>>
iOS 多线程,ARC
查看>>
Javascript小技巧,去掉小数位并且不会四舍五入
查看>>
指定初始化方法
查看>>
使用eclipse进行重构
查看>>
vs mfc 静态文本 改变字体大小
查看>>
Hidden Word
查看>>
radios组件
查看>>
Android客户端采用Http 协议Post方式请求与服务端进行数据交互
查看>>
《浙大版-数据结构(第二版)》习题2.5 两个有序链表序列的合并(15 分)<有疑问?变化之后 L1 L2没办法NULL >...
查看>>
Ubuntu18.04 安装Chrome浏览器
查看>>
Linux命令总结_文件的输入与 输出
查看>>
[ZJOI2010]数字计数
查看>>