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

怎么做国内网站电商网站入口

怎么做国内网站,电商网站入口,服务器建站教程,godaddy主机wordpress题目链接:416. 分割等和子集 题目描述 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释&#x…

题目链接:416. 分割等和子集

题目描述

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

示例 1:

输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。

示例 2:

输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。

提示:

  • 1 <= nums.length <= 200
  • 1 <= nums[i] <= 100

文章讲解:代码随想录

视频讲解:动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集_哔哩哔哩_bilibili

题解1:回溯法(超时)

思路:使用回溯法遍历数组中每个元素是否加入到第1组中,其他元素加入到第二组,遍历所有情况看看相不相等。

/*** @param {number[]} nums* @return {boolean}*/
var canPartition = function(nums) {const path = new Array(nums.length);const backtracking = function (start) {for (let i = start; i < nums.length; i++) {path[i] = true;let sum1 = sum2 = 0;nums.forEach((num, index) => path[index] ? sum1 += num : sum2 += num);if (sum1 === sum2 || backtracking(i + 1)) {return true;}path[i] = false;}return false;};return backtracking(0);
};

分析:时间复杂度为 O(n * 2 ^ n),空间复杂度为 O(n)。

题解2:动态规划

思路:取数组元素和的一半,记为 target。以 target 为背包容量,数组的元素作为物品质量和价值,每个元素只能取1次,若能装满背包,则说明可以分割。这是一个01背包问题。

动态规划分析:

  • dp 数组以及下标的含义:dp[j] 代表容量为 j 的背包最多能装下多少价值的物品。
  • 递推公式:dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i])。
  • dp 数组初始化:全部初始化成0。
  • 遍历顺序:先遍历物品,再倒序遍历背包。
  • 打印 dp 数组:输入为 [1,5,11,5] 时,dp 数组为 [ 0, 1, 1, 1, 1, 5, 6, 6, 6, 6, 10, 11 ]。
/*** @param {number[]} nums* @return {boolean}*/
var canPartition = function(nums) {const target = nums.reduce((a, b) => a + b) / 2; // 背包容量为数组元素和的一半if (Math.floor(target) !== target) {return false;}const dp = new Array(target + 1).fill(0);for (let i = 0; i < nums.length; i++) {for (let j = target; j >= nums[i]; j--) {dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i]);}}return dp[target] === target; // 装满背包则返回 true
};

分析:时间复杂度为 O(n²),空间复杂度为 O(n)。

收获

练习动态规划法求解01背包问题。

http://www.ritt.cn/news/17267.html

相关文章:

  • 张店网络推广公司windows优化大师有必要安装吗
  • 做房产网站不备案可以吗网络广告营销方案
  • 专做民宿的网站百度客服联系方式
  • wordpress外网地址东莞seo优化方案
  • 建网站的方法情感营销经典案例
  • 网站科技感页面设计美国婚恋网站排名
  • 找潍坊做网站的搜索到的相关信息
  • 贵阳营销网站建设公司百度品牌广告多少钱一个月
  • 广告设计制作图片沈阳seo搜索引擎
  • 网站流量盈利模式微博搜索引擎优化
  • 论坛网站开发技术服务器
  • 网站建设方案应该怎么做最全资源搜索引擎
  • 做网站必须会线上网络平台推广
  • 个体营业执照可以做网站搞推广吗如何在百度投放广告
  • 怎么做免费的网站百度营销官网
  • 服务好的网站建设营销渠道策略有哪些
  • 深圳网站自然优化灰色关键词快速排名
  • 台州网站公司那里好产品推广软文500字
  • 武威网站制作公司哪个好公司员工培训内容有哪些
  • 网站推广软件费用是多少南宁网站建设
  • 济南做网站建设的公司seo网站设计工具
  • 建设网站如如何在百度上发自己的广告?
  • 有没有做任务拿佣金的网站中国营销型网站有哪些
  • 对网站建设行业的了解360seo优化
  • 服装企业的网站建设百度指数快刷软件
  • 服装网站建设seo营销推广公司
  • 注册微信小程序流程搜索引擎优化与关键词的关系
  • 长沙网页制作模板的网站深圳竞价托管
  • 建设部网站核对编号qq推广网站
  • 苹果电脑无法登陆建设银行网站常见的推广方式有哪些