当前位置: 首页 > news >正文

湛江企业网站苏州招聘网站制作

湛江企业网站,苏州招聘网站制作,成都设计公司上市,泉州网站建设技术外包39. 组合总和 var path []int var tmp []int var result [][]int// 还是需要去重复,题目中要求的是至少一个数字备选的数量不同。 // 所以需要剪枝操作,右边的要比左边的> func combinationSum(candidates []int, target int) [][]int {// 组合问题pa…

39. 组合总和


var path []int
var tmp []int
var result [][]int// 还是需要去重复,题目中要求的是至少一个数字备选的数量不同。
// 所以需要剪枝操作,右边的要比左边的>=
func combinationSum(candidates []int, target int) [][]int {// 组合问题path = []int{}result = [][]int{}nfs(candidates, target, 0)return result
}func nfs(candidates []int, curr, startIndex int) bool {// 终止条件if curr == 0 {tmp = make([]int, len(path))copy(tmp, path)result = append(result, tmp)return true} else if curr < 0 {return false}for i := startIndex; i < len(candidates); i++ {// 去重:右边的比左边的大的情况,才继续,startIndexpath = append(path, candidates[i])// nfsnfs(candidates, curr-candidates[i], i)if len(path) > 0 {path = path[:len(path)-1]}}return true
}

40. 组合总和 II ⭐️⭐️⭐️

这个题很重点,
关键点:

  • 一个组内可以允许重复
  • 但是不同组,不可以是重复的

涉及到是同一层是否重复(就是不同组),还是某一个树枝是否重复(同一组内)。
所以这样,就很清晰了。
我们可以用一个 used 数组,如果used[i] = true,说明在一个同一个树枝上使用了。
// 去除相邻重复
// used[i-1] == true 说明,在同一树枝上使用了
// used[i-1] == false,说明,不是同一树枝,此时如果candidates[i] == candidates[i-1],
在这里插入图片描述


import "sort"var path []int
var result [][]intfunc combinationSum2(candidates []int, target int) [][]int {// 这个是给定一个数组了,在里面挑选。// 我的思路就是,先排序在递归// 还有一种情况,111435, 这个重复值,在第二次,就不应该再用了path = []int{}result = [][]int{}sort.Ints(candidates)used := make([]bool, len(candidates))nfs(candidates, 0, target, used)return result
}func nfs(candidates []int, startIndex, curr int, used []bool) {// 终止条件if (curr == 0) {result = append(result, append([]int{}, path...))return } else if (curr < 0) {return }// 循环for i := startIndex; i < len(candidates); i++ {// 去除相邻重复// used[i-1] == true 说明,在同一树枝上使用了// used[i-1] == false,说明,不是同一树枝,此时如果candidates[i] == candidates[i-1],// 那么就跳过if i > 0 && candidates[i] == candidates[i-1] && used[i-1] == false {continue}used[i] = truepath = append(path, candidates[i])nfs(candidates, i+1, curr-candidates[i], used)used[i] = false// 回溯if (len(path) > 0) {path = path[:len(path)-1]}}
}
http://www.yayakq.cn/news/881695/

相关文章:

  • 建设银行联号查询网站WordPress点击出现爱心
  • 作业做哪些类型的网站做动画的网站
  • 建站网站多少钱潍坊做网站的
  • 哪个网站是动态口腔网站设计图
  • 做能支付的网站贵吗做设计用的素材下载网站
  • 网站可不可以不添加源码直接添加模板企业所得税税率表2022年
  • 如何查看 网站诊断网站设置页面指什么
  • 地方门户网站建设东莞网页设计培训中心
  • 一诺互联 网站建设榕江网站建设
  • 网站建设犀牛网页模板网站有哪些
  • 网站建设维护考试小型网站开发时间周期
  • 广州嘉怡服饰有限公司网站建设j2ee 做网站
  • 成都网站运营公司拖拽式建站wordpress
  • 中铁集团网站建设有做义工的相亲网站吗
  • 高端个性化网站建设抚州网站制作
  • 桂林企业网站建设无锡网站制作联系电话
  • 广州市学校网站建设公司潮州网站建设
  • 珠海网站建设模板wordpress做采集站
  • 郑州制作网站软件工程建设教育网首页
  • 如何用ps做网站图标网站构建免费
  • 网站模板哪里下载南昌网站排名推广
  • 蓝色系的网站珠海斗门建设局官方网站
  • 网站的风格保持一致美丽说网站代码与蘑菇街网站代码是用什么网站语言做的
  • 电商网站平台搭建怎么通过局域网建设网站
  • 个人网站建设架构专业网站制作哪里好
  • 上海低价网站建设京东商城官网入口
  • 做高端品牌网站wordpress地图无插件
  • 那些做环保网站的好最好国内免费网站空间
  • 网站制作 牛商网12333社保查询网
  • 重庆网站推广优化软件业务万网服务器