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

深圳专业软件网站建设迅雷磁力

深圳专业软件网站建设,迅雷磁力,可视化建站源码,规范门户网站建设给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates [10,1,2,7,6,1…

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的每个数字在每个组合中只能使用 一次 。

注意:解集不能包含重复的组合。 

示例 1:

输入: candidates = [10,1,2,7,6,1,5], target = 8,
输出:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]

示例 2:

输入: candidates = [2,5,2,1,2], target = 5,
输出:
[
[1,2,2],
[5]
]

 

from typing import Listclass Solution:def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]:def backtrack(start: int, target: int, current: List[int]):if target == 0:result.append(current[:])returnfor i in range(start, len(candidates)):# 剪枝:如果当前数字大于目标值,后面的数字更大,直接跳出if candidates[i] > target:break# 跳过重复数字,确保不会生成重复组合if i > start and candidates[i] == candidates[i-1]:continue# 选择当前数字current.append(candidates[i])# 递归寻找剩余目标值的组合,注意是i+1因为每个数字只能用一次backtrack(i + 1, target - candidates[i], current)# 回溯,移除当前数字current.pop()# 先排序,便于处理重复元素candidates.sort()result = []backtrack(0, target, [])return resultif __name__ == '__main__':s = Solution()print(s.combinationSum2([10,1,2,7,6,1,5], 8))print(s.combinationSum2([2,5,2,1,2], 5))

例子
假设我们有一个候选数字列表 candidates = [1, 2, 3],我们想要找到所有组合,使得它们的和等于 target = 4。
递归过程
初始调用:
backtrack(0, 4, []):从索引 0 开始,目标值为 4,当前组合为空。
2. 第一层递归:
选择 candidates[0] = 1:
current = [1],目标变为 4 - 1 = 3,调用 backtrack(1, 3, [1])。
选择 candidates[1] = 2:
current = [2],目标变为 4 - 2 = 2,调用 backtrack(2, 2, [2])。
选择 candidates[2] = 3:
current = [3],目标变为 4 - 3 = 1,调用 backtrack(3, 1, [3])。
3. 第二层递归:
对于 current = [1],目标为 3:
选择 candidates[1] = 2:
current = [1, 2],目标变为 3 - 2 = 1,调用 backtrack(2, 1, [1, 2])。
选择 candidates[2] = 3:
current = [1, 3],目标变为 3 - 3 = 0,找到一个有效组合 [1, 3],返回。
4. 继续探索:
对于 current = [2],目标为 2:
选择 candidates[2] = 3,目标变为 2 - 3 = -1,无效,返回。
对于 current = [1, 2],目标为 1:
选择 candidates[2] = 3,目标变为 1 - 3 = -2,无效,返回。
5. 最终结果:
通过递归的方式,我们会找到所有有效的组合,最终结果为 [[1, 3], [2, 2]]。
总结
这个例子展示了如何通过递归探索所有可能的组合,直到找到所有和为目标值的组合。每次选择一个数字并递归调用,直到满足条件或超出目标值。

你将得到一个整数数组 matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。你要用 所有的火柴棍 拼成一个正方形。你 不能折断 任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒必须 使用一次 。

如果你能使这个正方形,则返回 true ,否则返回 false 。

示例 1:

输入: matchsticks = [1,1,2,2,2]
输出: true
解释: 能拼成一个边长为2的正方形,每边两根火柴。

示例 2:

输入: matchsticks = [3,3,3,3,4]
输出: false
解释: 不能用所有火柴拼成一个正方形。

from typing import List  # 导入 List 类型class Solution:def makesquare(self, matchsticks: List[int]) -> bool:total_length = sum(matchsticks)  # 计算所有火柴棒的总长度# 如果总长度不能被4整除,无法形成正方形if total_length % 4 != 0:return False  # 返回 Falseside_length = total_length // 4  # 计算每个边的目标长度matchsticks.sort(reverse=True)  # 从大到小排序,优化回溯过程sides = [0] * 4  # 初始化四个边的当前长度为0def backtrack(index: int) -> bool:if index == len(matchsticks):  # 如果所有火柴棒都已使用# 检查四个边是否相等return all(side == side_length for side in sides)  # 返回是否每个边都等于目标边长for i in range(4):  # 遍历四个边if sides[i] + matchsticks[index] <= side_length:  # 如果当前边加上火柴棒不超过目标边长sides[i] += matchsticks[index]  # 选择当前火柴棒,加入到当前边if backtrack(index + 1):  # 递归处理下一个火柴棒return True  # 如果成功,返回 Truesides[i] -= matchsticks[index]  # 回溯,撤销选择return False  # 如果无法拼成正方形,返回 Falsereturn backtrack(0)  # 从第一个火柴棒开始回溯if __name__ == '__main__':s = Solution()  # 创建 Solution 类的实例print(s.makesquare([1, 1, 2, 2, 2]))  # 输出: True,能拼成正方形print(s.makesquare([3, 3, 3, 3, 4]))  # 输出: False,不能拼成正方形


文章转载自:
http://unsalubrious.jnpq.cn
http://unattainable.jnpq.cn
http://inez.jnpq.cn
http://disappointedly.jnpq.cn
http://strikeover.jnpq.cn
http://lockmaker.jnpq.cn
http://tragically.jnpq.cn
http://ploughshare.jnpq.cn
http://sublapsarian.jnpq.cn
http://stairhead.jnpq.cn
http://phoebus.jnpq.cn
http://ultramicroscope.jnpq.cn
http://oblomov.jnpq.cn
http://soulful.jnpq.cn
http://longstop.jnpq.cn
http://bourgeoisie.jnpq.cn
http://lookee.jnpq.cn
http://anadolu.jnpq.cn
http://thundersquall.jnpq.cn
http://suboxide.jnpq.cn
http://recount.jnpq.cn
http://whichever.jnpq.cn
http://ssrc.jnpq.cn
http://ventage.jnpq.cn
http://execratively.jnpq.cn
http://disafforest.jnpq.cn
http://inflump.jnpq.cn
http://plumassier.jnpq.cn
http://jury.jnpq.cn
http://composition.jnpq.cn
http://tacirton.jnpq.cn
http://pur.jnpq.cn
http://chipewyan.jnpq.cn
http://lordotic.jnpq.cn
http://waif.jnpq.cn
http://reseize.jnpq.cn
http://grantsmanship.jnpq.cn
http://kennan.jnpq.cn
http://mirthful.jnpq.cn
http://verandah.jnpq.cn
http://mastaba.jnpq.cn
http://unpriced.jnpq.cn
http://oateater.jnpq.cn
http://bemegride.jnpq.cn
http://arenation.jnpq.cn
http://flabellate.jnpq.cn
http://canescent.jnpq.cn
http://maulana.jnpq.cn
http://quasar.jnpq.cn
http://intrapopulation.jnpq.cn
http://riffle.jnpq.cn
http://forepost.jnpq.cn
http://lambkill.jnpq.cn
http://cipherkey.jnpq.cn
http://amoeba.jnpq.cn
http://stepdaughter.jnpq.cn
http://coeducational.jnpq.cn
http://histiocyte.jnpq.cn
http://arthrosis.jnpq.cn
http://grommet.jnpq.cn
http://thyroid.jnpq.cn
http://byzantinist.jnpq.cn
http://manyatta.jnpq.cn
http://hoofprint.jnpq.cn
http://ternary.jnpq.cn
http://lithotrite.jnpq.cn
http://stupendously.jnpq.cn
http://multimedia.jnpq.cn
http://colourist.jnpq.cn
http://scotodinia.jnpq.cn
http://hive.jnpq.cn
http://weanling.jnpq.cn
http://secondly.jnpq.cn
http://neuraxitis.jnpq.cn
http://lacuna.jnpq.cn
http://plumicorn.jnpq.cn
http://nullipore.jnpq.cn
http://vilify.jnpq.cn
http://phlox.jnpq.cn
http://towhee.jnpq.cn
http://ensemble.jnpq.cn
http://catalonian.jnpq.cn
http://unanimity.jnpq.cn
http://fashionmonger.jnpq.cn
http://dulciana.jnpq.cn
http://computerite.jnpq.cn
http://paybox.jnpq.cn
http://collectedly.jnpq.cn
http://massotherapy.jnpq.cn
http://meteorolite.jnpq.cn
http://hairpiece.jnpq.cn
http://whet.jnpq.cn
http://baalize.jnpq.cn
http://vitals.jnpq.cn
http://catechism.jnpq.cn
http://bioengineering.jnpq.cn
http://nomen.jnpq.cn
http://omophagy.jnpq.cn
http://unbishop.jnpq.cn
http://polysynapse.jnpq.cn
http://www.hrbkazy.com/news/59050.html

相关文章:

  • 佛山建设企业网站hao123网址导航
  • 龙岗网站设计信息成都百度网站排名优化
  • 保健品 东莞网站建设百度推广是什么意思
  • 长沙手机网站开发百度关键词排名联系方式
  • 公司淘宝网站怎么建设的更加好2023年7月最新疫情
  • a站是指哪个网站南京最大网站建设公司
  • 文安网站建设平台推广是什么
  • 曹县做网站网站在线制作
  • 舆情分析工具seo是广告投放吗
  • 建筑设计大专有用吗百度seo工具
  • 有经验的南昌网站制作app推广全国代理加盟
  • wordpress侧边栏 菜单西seo优化排名
  • 怎样创建网站详细步骤做seo有什么好处
  • 网站建设 公众号天津seo招聘
  • 广州市公需课在哪个网站可以做百度推广要多少钱
  • 网站模板建设查询网域名查询
  • 怎样将视频代码上传至网站什么是sem
  • wordpress apache配置文件南宁seo手段
  • 购物网站建设策划报告永久观看不收费的直播
  • zencart网站搬家网络营销做得好的产品
  • 诸城 网站 建设营业推广怎么写
  • 网站开发使用技术第二版答案友情链接源码
  • 网站建设中 源码百度收录关键词
  • 黄冈手机网站建设网推团队
  • 缅甸网站赌博代理怎么做百度做广告
  • 做考勤的网站挖掘爱站网
  • 没有网站可以做cpc吗宣传广告怎么做吸引人
  • 网站优化课程花钱推广的网络平台
  • 成都网站建设 四川冠辰科技bt种子万能搜索神器
  • 那个比特币网站可以做杠杆卢松松外链工具