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

婚纱摄影网站html企业网络营销青岛

婚纱摄影网站html,企业网络营销青岛,做网站数据库设计,wordpress主题Cosy416. 分割等和子集 一、算法逻辑(每一步思路) ❓ 问题描述: 给定一个只包含正整数的数组 nums,判断是否可以将其分成两个子集,使得这两个子集的元素和相等。 ✅ 思路解析(DFS 记忆化) 1. 总…

416. 分割等和子集

一、算法逻辑(每一步思路)

❓ 问题描述:

给定一个只包含正整数的数组 nums,判断是否可以将其分成两个子集,使得这两个子集的元素和相等。


✅ 思路解析(DFS + 记忆化)

1. 总和判断:
s = sum(nums)
  • 只有当总和是 偶数 时,才可能被分成两个相等的子集;
  • 否则直接返回 False
2. 定义目标:

我们目标是找到一个子集,使得其和为 target = s // 2


3. 定义状态:
dfs(i, j) 表示:是否可以从 nums[0..i] 中选出一些数,使得它们的和为 j
4. 状态转移逻辑:
  • 我们每个数都可以选或不选:
dfs(i, j) = dfs(i-1, j-nums[i])  # 选 nums[i]or dfs(i-1, j)          # 不选 nums[i]

前提是:

  • 当选 nums[i] 时,必须保证 j >= nums[i] 否则非法。
5. 边界条件:
  • i < 0 表示没有数可以选了,此时只有当 j == 0,才能说“成功凑出目标和”。

6. 初始调用:
dfs(len(nums)-1, s//2)
  • 从所有数中尝试凑出 s//2
7. 使用 @cache 实现记忆化,避免指数级重复递归。

二、算法核心点

✅ 核心思想:子集和问题 + 记忆化搜索

  • 本质是 0/1 背包问题:能不能从 nums 中挑若干个数,使它们的和为 target = s // 2
  • DFS 方式天然适合尝试所有选法;
  • 用记忆化优化重复状态访问,转为多项式级别复杂度。
class Solution:def canPartition(self, nums: List[int]) -> bool:@cachedef dfs(i:int, j:int)->bool:if i<0:return j==0return j>=nums[i] and dfs(i-1, j-nums[i]) or dfs(i-1, j)s = sum(nums)return s%2==0 and dfs(len(nums)-1, s//2)

三、复杂度分析

  • 时间复杂度:O(n × target)
    • 每个状态 (i, j) 最多访问一次;
    • i 最多为 nj 最多为 target = s//2
  • 空间复杂度:O(n × target)
    • 缓存表大小为 n × target
    • 递归栈深度最多为 n

总结表

维度

内容

✅ 思路逻辑

转化为是否可以从数组中选出若干数,使它们的和为总和的一半

✅ 核心技巧

记忆化搜索 + 状态定义 dfs(i, j)

✅ 时间复杂度

O(n × s//2),即 O(n × sum/2)

✅ 空间复杂度

O(n × sum/2),包括递归栈和缓存


✅ 示例演示

输入:

nums = [1, 5, 11, 5]

总和为 22,可以划分为 [11] 和 [1,5,5],输出为 True

http://www.dtcms.com/wzjs/26066.html

相关文章:

  • 91手机用哪个浏览器长沙弧度seo
  • 爱站seo查询软件长沙优化排名
  • 公司网站开发项目外包方案百度免费推广平台
  • 做网站用什么团建今天国内新闻10条
  • dw做旅游网站毕业设计模板下载百度网址安全检测
  • 定西企业网站制作百度搜索推广和信息流推广
  • 网站建设时间计划表百度投诉中心人工电话号码
  • 移动端网站做排名安顺seo
  • 建筑网站do域名查询备案
  • 做外贸企业网站要注意哪些推广引流吸引人的文案
  • wordpress关键词内链重庆百度seo公司
  • 网站开发找哪个洛阳seo外包公司费用
  • 临沂网站建设费用百度查找相似图片
  • 企业网站备案需要什么资料微信营销典型案例
  • 做番号网站违法么bing搜索
  • 建设银行人力资源系统网站首页百度网络推广营销
  • outlook企业邮箱怎么申请重庆关键词优化
  • 购物网站创建网络营销的主要传播渠道是
  • 免费网站建设免费咨询百度推广电话销售话术
  • 南京玄武区建设局网站seo查询软件
  • 济南网站建设vashine软件推广平台
  • 哈尔滨专业网站制作公司东莞优化疫情防控措施
  • 丰金网络 做网站营销策划的八个步骤
  • 上海青浦做网站新手怎么做电商
  • 做网站卖电脑域名注册哪个平台比较好
  • 谁有人和兽做的网站?网络营销是什么专业类别
  • 惠州外贸网站建设互联网营销策划案
  • 市民留言常德论坛常德政府网站国家免费职业技能培训官网
  • 公众号里的电影网站怎么做互联网营销是什么
  • 广东省中山市网站免费crm客户管理系统