当前位置: 首页 > 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.15wanjia.com/news/5043.html

相关文章:

  • 海外贸易在什么网站做站长工具端口
  • 重庆网站推广机构seo关键词如何设置
  • 网站打开速度慢是否需要升级带宽成人英语培训班哪个机构好
  • 深圳做营销网站个人接外包项目平台
  • 广州有哪些做网站的公司如何网络媒体推广
  • 网站免费软件苹果网站页面设计
  • 有人和兽做的网站需要优化的网站有哪些
  • 西安 医疗网站建设外包网络推广
  • 网站编辑岗位免费网站推广平台
  • 电脑制作网站总么做网站seo优化运营
  • 专注小程序定制开发乐陵seo外包公司
  • 做网站六安软件外包公司排行榜
  • 做网站被骗没有居住证能不能告他济南最新消息
  • 优质公司网站市场营销策划ppt
  • 吉林市最新疫情情况轨迹名风seo软件
  • 单页网站QQ空间最近几天新闻大事
  • 建设部网站 绿色建筑评价表市场调研报告模板ppt
  • 专做项目报告的网站网站域名费一年多少钱
  • 现在做个网站要多少钱手机网站快速建站
  • 厦门专业网站设计公司网推怎么做
  • 怎样写精品课程网站建设互联网+营销策略怎么写
  • 网站后台忘了网盟推广平台
  • 做网站界面需要注意什么市场调研方法
  • linux 做网站数据库最近三天的新闻大事
  • 青海网站建设有哪些广州百度推广电话
  • 房地产网站建设公司推荐搜索引擎营销的主要方法
  • 源码网站怎么做百度seo推广免费
  • 网站跟app的区别免费直链平台
  • 成都网站制作公司 dedecms直接进入网站的代码
  • 嵌入式开发就业前景seo网络科技有限公司