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

湛江搭建做网站在哪里做做竞价托管的公司

湛江搭建做网站在哪里做,做竞价托管的公司,安徽海通建设集团网站,网站轮播图的按钮怎么做的LeetCode416. 分割等和子集 题目链接:416. 分割等和子集 题目描述: 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,…

LeetCode416. 分割等和子集

题目链接: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
算法分析:
定义dp数组及下标含义:

dp[i][j]表示0~i中每个元素任取,其总和不大于j的最大值(能够在容量为j的背包里装下的最大值)。

递推公式:

dp[i][j] = max(dp[i-1][j], dp[i-1][j-nums[i]]+nums[i])。

初始化:

子集的总和不会超过原数组总和的一半,所以dp代表值的那个维度长度取其一半即可。

vector<vector<int>>dp(nums.size(), vector<int>(sum + 1, 0));for(int i = nums[0]; i <= sum; i++) {dp[0][i] = nums[0];}
遍历顺序:

元素遍历的for循环在外层,总和值的遍历在内层。

代码如下:

class Solution {
public:bool canPartition(vector<int>& nums) {int sum = 0;for(int i = 0; i < nums.size(); i++) {sum += nums[i];}if(sum % 2 != 0) return false;sum /= 2;vector<vector<int>>dp(nums.size(), vector<int>(sum + 1, 0));for(int i = nums[0]; i <= sum; i++) {dp[0][i] = nums[0];}for(int i = 1; i < nums.size(); i++) {for(int j = 0; j <= sum; j++) {if(j < nums[i]) dp[i][j] = dp[i - 1][j];else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - nums[i]] + nums[i]);if(dp[i][j] == sum) return sum;}}return false;}
};

状态压缩,将二维数组转化成一维数组(内从循环遍历总和值要倒着遍历):

class Solution{public boolean canPartition(int[] nums) {int sum = 0;for(int i = 0; i < nums.length; i++) sum += nums[i];if(sum % 2 != 0) return false;sum /= 2;int[] dp = new int[sum + 1];for(int i = nums[0]; i <= sum; i++)dp[i] = nums[0];for(int i = 1; i < nums.length; i++) {for(int j = sum; j >= nums[i]; j--) {dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i]);}if(dp[sum] == sum) return true;}return false;}
}

总结

对于类似背包的问题,可以将其视为背包问题看待,找准背包容量和物品的对应对象。

http://www.dt0577.cn/news/54538.html

相关文章:

  • 广东网站建设价格企业线上培训平台
  • 天津市个体营业执照办理流程抖音seo优化系统招商
  • 网站模板 代码免费网页制作三大软件
  • 网站做推广页需要什么厦门seo排名公司
  • 运营推广的网站有哪些seo综合查询国产
  • 自助制作网站百度营销app
  • 郑州妇科哪一家医院好性价比高seo排名优化的
  • 找一些好的网站建设案例百度资源搜索引擎
  • 购物网站难做百度 seo排名查询
  • duplicator wordpress优化资讯
  • 网站开发网络公司社交网络的推广方法有哪些
  • 小型IT网站开发公司搜索引擎的设计与实现
  • 网站建设教学廊坊谷歌搜索引擎google
  • 网站建设推进情况独立站建站需要多少钱
  • 专业网站制作哪里好大学生网页制作成品模板
  • 家用宽带怎么做网站 访问seo的基础是什么
  • discuz绿色带门户手机网站模板百度企业认证怎么认证
  • 东莞做网站seo2023第二波疫情已经到来了吗
  • wordpress 作品集是什么app关键词排名优化
  • 酒庄企业网站网络营销的四个特点
  • 温州专业制作网站百度seo流量
  • 大场网站建设全国疫情最新数据
  • 大学生网站作品今日头条新闻
  • 巢湖网站制作品牌推广的具体方法
  • 怎样建个网站武汉网站seo德升
  • 做磁力搜索网站好吗腰肌劳损的自我治疗和恢复的方法有什么?
  • 上海网站制作建设掌门一对一辅导官网
  • wordpress加密修改优化网站的公司哪家好
  • 为朋友做的网站网络平台的推广方法
  • 天津做网站需要多少钱合肥seo培训