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

如何建一个免费试用网站如何让自己网站排名提高

如何建一个免费试用网站,如何让自己网站排名提高,莱芜金点子电子版报纸,移动网站建设哪家好494. 目标和 - 力扣(LeetCode) 这个代码是用来解决“目标和”问题的,即在给定一个非负整数数组 nums 和一个整数 target 的情况下,通过在每个数字前添加 或 - 号,使得整个表达式的和等于 target,求有多少…

494. 目标和 - 力扣(LeetCode)

这个代码是用来解决“目标和”问题的,即在给定一个非负整数数组 nums 和一个整数 target 的情况下,通过在每个数字前添加 + 或 - 号,使得整个表达式的和等于 target,求有多少种不同的方法。

方法思路

  1. 问题转换​:首先,我们需要将问题转换为一个背包问题。假设所有添加 + 的数字之和为 pos,所有添加 - 的数字之和为 neg。那么有:

    • pos - neg = target
    • pos + neg = sum(nums)
      通过这两个等式,可以推导出 pos = (sum(nums) + target) / 2。因此,问题转化为在 nums 中找到若干数字,使其和为 pos,即一个典型的背包问题。
  2. 边界条件处理​:

    • 如果 sum(nums) < abs(target),那么无论如何组合都无法达到 target,直接返回 0。
    • 如果 (sum(nums) + target) 不是偶数,那么 pos 不是整数,同样无法达到,返回 0。
  3. 动态规划(记忆化搜索)​​:使用深度优先搜索(DFS)结合记忆化来避免重复计算。dfs(i, c) 表示从前 i 个数字中选出若干数字,使其和为 c 的方法数。递归关系如下:

    • 如果当前数字 nums[i] 大于剩余容量 c,则只能不选该数字,即 dfs(i-1, c)
    • 否则,可以选择不选或选该数字,即 dfs(i-1, c) + dfs(i-1, c - nums[i])
class Solution:def findTargetSumWays(self, nums: List[int], target: int) -> int:# p->+# q->-# p+q = s# p-q = target# p = (s-target)/2 # p必须是整数,s必须大于targets = sum(nums) - abs(target)if s<0 or s%2 == 1:return 0m = s//2memo = {}# i 是当前处理的数字在 nums 数组中的索引# c 是当前剩余的目标和​(即背包问题中的剩余容量)def dfs(i,c):if(i,c) in memo:return memo[(i,c)]# 当 i 变为负数时,表示所有数字已经处理完毕。if i < 0:return 1 if c==0 else 0# 如果当前数字 nums[i] 比剩余目标和 c 还大,那么不能选它,只能跳过(即 dfs(i - 1, c))if c < nums[i]:memo[(i,c)] = dfs(i-1,c)# 如果 nums[i] 可以选(即 c >= nums[i]),则有两种选择:# ​不选 nums[i]​:继续递归 dfs(i - 1, c)。# ​选 nums[i]​:递归 dfs(i - 1, c - nums[i]),并减少剩余目标和 celse:memo[(i,c)] = dfs(i-1,c) +dfs(i-1,c-nums[i])return memo[(i,c)]# i = len(nums) - 1 表示从数组的最后一个数字开始处理return dfs(len(nums)-1,m)# 从最后一个数字开始处理(i = len(nums) - 1)是更自然的选择,因为:# ​终止条件更清晰​(i < 0)。# ​更符合动态规划填表顺序​(从后往前依赖)。# ​记忆化存储更方便​((i, c) 对更易管理)。# ​与数学归纳法一致​(假设 i 之后的问题已解决)。# ​代码更简洁​(减少边界判断)。


文章转载自:

http://g1ukB6Kh.zwzLf.cn
http://QsefFmZE.zwzLf.cn
http://XytOpt2l.zwzLf.cn
http://J2gmXAh4.zwzLf.cn
http://3c0Zwh6g.zwzLf.cn
http://IBu4YoIW.zwzLf.cn
http://y8xJBTWm.zwzLf.cn
http://PMBug07P.zwzLf.cn
http://EnrT4Ruy.zwzLf.cn
http://MDtjqEQ8.zwzLf.cn
http://Oqa6USz7.zwzLf.cn
http://q3urNLa9.zwzLf.cn
http://QAJLN044.zwzLf.cn
http://KJ1RnKuD.zwzLf.cn
http://kyH0ZNcz.zwzLf.cn
http://k2MSVVmF.zwzLf.cn
http://Q23JuRB7.zwzLf.cn
http://ZFBHQN3P.zwzLf.cn
http://5sLKD0tT.zwzLf.cn
http://FlWMQyeC.zwzLf.cn
http://dl29HzPi.zwzLf.cn
http://nnOqTVaH.zwzLf.cn
http://jk0a6ZzP.zwzLf.cn
http://bkFCd9qI.zwzLf.cn
http://EHbBtwaO.zwzLf.cn
http://rv8S4kpk.zwzLf.cn
http://HgdaBZqo.zwzLf.cn
http://LCR30Xad.zwzLf.cn
http://XwY8ZJsR.zwzLf.cn
http://E79khqqu.zwzLf.cn
http://www.dtcms.com/wzjs/626530.html

相关文章:

  • 如何访问自己做的网站小程序源码免费下载
  • 商标注册 网站建设如何入账福州建设银行招聘网站
  • 网站策划方案1500字全国信用企业信息系统
  • 鄂州网站建设推广报价太和网站开发招聘
  • 泉州服装网站建设优化公司哪家好
  • 电子商务网站建设指导书常平网站开发
  • 天津城市基础设施建设投资集团有限公司网站北京英文网站建设
  • 网站防御代理品牌推广理论有哪些
  • 国家摄影网站深圳做网站开发
  • 网站建设单词网站建设属什么费用
  • 网站推广都做什么内容logo网站设计图片
  • 西安网站建设是什么互联网应用技术学什么
  • 网站吸引客户河南建设工程信息网官方网站
  • 没有域名如何访问网站wordpress 显示pdf插件下载
  • 什么是网站开发中的分页无锡网站建设wuxi8878
  • 法律行业网站建设什么是seo标题优化
  • 网站搭建修改收费依据国内最有趣的25个网站
  • 手机上的软件网站建设室内设计案例分析
  • 如何提高网站索引量wordpress播放pdf
  • 公司网站建设费如何入账开县做网站
  • 长治推广型网站建设网站建设实用的网站
  • 怎么做网站运营编辑的简历在中筹网站上做众筹
  • 哪里有免费的网站模板下载那些网站使用vue做的
  • 购物网站排名2017公司内部网站怎么建立
  • 企业网站实验报告建立网站内容
  • 旅游平台网站合作建设方案wordpress加密数据库文件
  • 网站友情链接查询wordpress博客二次元
  • apache设置网站网址人际网络网络营销是什么
  • 建立网站需要多少钱八寇湖南岚鸿团队网站建设公司违法
  • 百度收录网站要多wordpress array a