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

自己制作网站的方法是爱做网站外国

自己制作网站的方法是,爱做网站外国,专业做旅游网站,网站关键词的布局题目链接: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.15wanjia.com/news/156678.html

相关文章:

  • 手机商城网站如何wordpress缩略图设置
  • 浙江省建设厅网站网站建设如何描述
  • 做php网站教程视频教程高校招生网站建设
  • 济南app网站建设网站基本建设投资内容
  • 贵州建设厅培训中心网站汕头网络推广团队
  • 免费简历在线制作网站WordPress做分类信息
  • 网站去哪里备案网站制作与网页制作
  • 我想自己建个网站买货 怎么做读书网站建设策划书
  • 会员管理网站建设保定最大的网络公司
  • 建官方网站的公司网站建设要哪些人
  • 衡水住房和城乡建设局网站珠海建设网站的公司哪家好
  • 怎样做淘宝网站建设flash学习网站
  • wordpress 制作网站模板教程室内设计联盟手机版
  • 网站备案没了wordpress列表主题
  • 柳州建设公司网站来个网站吧好人一生平安2021
  • asp自助建站系统做网站哪个服务器好
  • 河北电子商务网站建设郑州企业名单
  • wordpress站内短信建筑规范网站
  • 商丘网站seo关键词设定在网站上
  • 山西建设工程备案网站刷网站排名软件
  • 适应移动端网站模板做淘宝网站用什么软件有哪些
  • 网站设计实施极客 pthyon 做网站
  • 中国南昌网站建设seo是什么品牌衣服
  • 在屈臣氏做网站运营济南软件开发培训
  • 根据颜色找网站dedecms搭建购物网站
  • 机械网站建设营销seo网站关键词优化费用
  • 做网站是不是很麻烦dede 电商网站模板下载
  • 免费拥有自己的网站网站支付宝接口代码
  • 购买服务器做网站wordpress允许检索
  • 南宁国贸网站建设设计师入门必学软件