题解 | #加起来和为目标值的组合#

加起来和为目标值的组合

https://www.nowcoder.com/practice/172e6420abf84c11840ed6b36a48f8cd

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param target int整型 
 * @param nums int整型一维数组 
 * @return int整型二维数组
*/
func combinationCount( target int ,  nums []int ) [][]int {
    // write code here
	res := make([][]int, 0)
	var dfs func(start int, tmpSum int, tmp []int)
	dfs = func(start int, tmpSum int, tmp []int) {
		if tmpSum == target {
			res = append(res, append([]int(nil), tmp...))
			return
		}
		if tmpSum > target {
			return
		}
		for i := start; i < len(nums); i++ {
			tmp = append(tmp, nums[i])
			dfs(i, tmpSum+nums[i], tmp)
			tmp = tmp[:len(tmp)-1]
		}
	}
	dfs(0, 0, []int{})
	return res
}

全部评论

相关推荐

12-18 22:04
已编辑
杭州电子科技大学 Java
程序员牛肉:我觉得是这样的,你现在有点病急乱投医了。你要问自己这样一个问题: 我找实习的目的是什么?为了挣钱还是增强个人实力?如果是为了挣钱那没得说,如果我是为了增强个人实习,那我异地去一个小厂实习真的有收益吗?这个收益是否大过我参加学校的项目或者自学?我记得你们杭电有那种实验室专门负责运维学校的项目的。 找实习只是一个手段而已,不要把他变成目的。不要病急乱投医。
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务