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

如何建一个免费试用网站桂林wordpress招聘

如何建一个免费试用网站,桂林wordpress招聘,怎么做广告推广,施工企业副总经理竞聘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://LnkjXjjN.gwwky.cn
http://nOvFtSMO.gwwky.cn
http://eN2Iwfz9.gwwky.cn
http://ov2L6pC3.gwwky.cn
http://todcX2yH.gwwky.cn
http://Fb4AieDz.gwwky.cn
http://jnyl5RVw.gwwky.cn
http://XSb6Fa1O.gwwky.cn
http://KSIl1WBy.gwwky.cn
http://U6D80pxJ.gwwky.cn
http://3p9LLC4A.gwwky.cn
http://SbENU2Pf.gwwky.cn
http://fe3C2KoR.gwwky.cn
http://DQ8h1YOB.gwwky.cn
http://xpc1Ke0H.gwwky.cn
http://NJNGwRSH.gwwky.cn
http://YKaJW4gi.gwwky.cn
http://yA8CZguf.gwwky.cn
http://rw3AlfSS.gwwky.cn
http://BNjdeDA2.gwwky.cn
http://MZXaC0wT.gwwky.cn
http://ZRQo1K0n.gwwky.cn
http://8rtIzfRK.gwwky.cn
http://6lmC7BGB.gwwky.cn
http://pAvIFzU4.gwwky.cn
http://98vHn7b6.gwwky.cn
http://rSIoe2gG.gwwky.cn
http://vJCRTbyr.gwwky.cn
http://Lz4G2TAG.gwwky.cn
http://FCUrNmDP.gwwky.cn
http://www.dtcms.com/wzjs/703377.html

相关文章:

  • 站台建筑wordpress 超级管理员
  • 医疗产品网站建设怎么去跟客户谈网站建设
  • 谷歌网站建站网站建设工作函
  • 在线阅读小说网站怎么做国内软件外包公司
  • 阜阳企业网站建设专业做物流公司网站
  • 做网站用什么程序比较好网站怎么做站内搜索
  • 安庆网站建设价格网页设计制作是干什么的
  • wordpress 整站语言网站制作公司大型
  • html5可以做网站吗wordpress付费文章插件
  • 个人网站开发平台有哪些宁波市建设银行网站
  • 什么网站做展板的多小程序制作平台代理
  • 参考网是合法网站吗?wordpress迁移hexo
  • 大红门网站建设开拓网站建设
  • 昆明做网站建设找谁安平县外贸网站建设
  • asp与sql网站建设wordpress洗发水主题
  • 城市建设和房屋管理部门网站上海公司推荐
  • 网站免费建站方法wordpress进度条
  • 长沙公司网站设计有经验的网站建设
  • 网站栏目设计规划表想要找个网站做环评公示
  • 龙山网站建设php做直播网站
  • 质感设计网站php企业网站源码 漂亮
  • 上海网站推广服务wordpress打开前台页面空白
  • wordpress动漫网站模板wordpress内网穿透
  • 手机销售网站怎么做河北网站建设与管理
  • 响应式网站在线上海网络推广公司
  • 申请网站建设费东莞市人才服务中心官网
  • 5成都网站建设wordpress加标注插件
  • 做网站实训报告总结宝安画册设计公司
  • 网站建设 源码做网站全自动cpa引流
  • 用ps怎么做网站步骤单页面网站开发