博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode Combination Sum
阅读量:6160 次
发布时间:2019-06-21

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

hot3.png

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]]

思路:实现其实很简单,整除就是满足的,不整除做减法,偏移重复上述操作, (我没有追求输出结果)

package mainimport (	"fmt")func test_array_contain_elements(arr []int, dest_val int) {	length := len(arr)	for i := length - 1; i > 0; i-- {		var tmp_arr []int		tmp_val := dest_val		for j := i; j >= 0; {			left_val := tmp_val % arr[j]			if left_val == 0 {				element_num := tmp_val / arr[j]				for element_num > 0 {					tmp_arr = append(tmp_arr, arr[j])					element_num--				}				fmt.Printf("%v\n", tmp_arr)				break			} else {				tmp_val = tmp_val - arr[j]				tmp_arr = append(tmp_arr, arr[j])				j--				if tmp_val < arr[j] {					break				}			}		}	}}func main() {	arr := []int{2, 3, 6, 7}	test_array_contain_elements(arr, 7)}

输出结果:

[7]

[3 2 2]

转载于:https://my.oschina.net/yang1992/blog/831329

你可能感兴趣的文章
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
Apache通过mod_php5支持PHP
查看>>
java学习:jdbc连接示例
查看>>
Silverlight 如何手动打包xap
查看>>
禁用ViewState
查看>>
Android图片压缩(质量压缩和尺寸压缩)
查看>>
nilfs (a continuent snapshot file system) used with PostgreSQL
查看>>
【SICP练习】150 练习4.6
查看>>
HTTP缓存应用
查看>>
KubeEdge向左,K3S向右
查看>>
DTCC2013:基于网络监听数据库安全审计
查看>>
CCNA考试要点大搜集(二)
查看>>
ajax查询数据库时数据无法更新的问题
查看>>
Kickstart 无人职守安装,终于搞定了。
查看>>
linux开源万岁
查看>>
linux/CentOS6忘记root密码解决办法
查看>>
25个常用的Linux iptables规则
查看>>
集中管理系统--puppet
查看>>
分布式事务最终一致性常用方案
查看>>