博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
416. Partition Equal Subset Sum
阅读量:4510 次
发布时间:2019-06-08

本文共 1488 字,大约阅读时间需要 4 分钟。

Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal.

Note:

  1. Each of the array element will not exceed 100.
  2. The array size will not exceed 200.

Example 1:

Input: [1, 5, 11, 5]Output: trueExplanation: The array can be partitioned as [1, 5, 5] and [11].

Example 2:

Input: [1, 2, 3, 5]Output: falseExplanation: The array cannot be partitioned into equal sum subsets. 题目含义:多个正数组成的数组,能否分成两个子数组,使得两个子数组的和相等
1     public boolean canPartition(int[] nums) { 2         int sum=0; 3         for (int num:nums) sum+= num; 4         if(sum % 2 == 1) return false; 5         sum /=2; 6         boolean[] dp = new boolean[sum + 1];//当前可以由考虑了的元素构成的值(每个元素最多出现1次) 7         //0可以由给定的nuns数组的元素组成给出 8         dp[0] = true; 9         int curSum = 0;10         //nums中的元素可以划分为2类:考虑了的和没考虑了的11         for (int num: nums) {
//一个一个元素按顺序加入考虑了的划分中,从而考虑全部可以构成的数的值12 int tmax = Math.min(curSum + num, sum);//内循环的上限的有效值=min(当前考虑了的划分中的元素可以构成的最大的值,sum)13 for (int j = tmax; j >= num; j--) {14 //构成j值只有2种情况:包含num,不包含num15 //包含nums[i]:dp[j] = dp[j - num]16 //不包含nums[i]:dp[j] = dp[j]17 dp[j] = dp[j] || dp[j - num];18 }19 if (dp[sum]) return true;//一旦满足直接返回,减少遍历20 curSum += nums[i];21 }22 return dp[sum]; 23 }

 

 

转载于:https://www.cnblogs.com/wzj4858/p/7695096.html

你可能感兴趣的文章
adb命令记录
查看>>
swift初学日志
查看>>
Eclipse上GIT插件_客户端配置
查看>>
JavaScript浏览器对象之二Document对象
查看>>
js 乘除算法 浮点 精度解决办法
查看>>
sqlserver2005版本的mdf文件,还没有log文件,
查看>>
错误“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”解决方案
查看>>
System x 服务器制作ServerGuide U盘安装Windows Server 2008 操作系统 --不格式化盘
查看>>
前端常见跨域解决方案(全)
查看>>
umi---className设置多个样式
查看>>
网页包抓取工具Fiddler工具简单设置
查看>>
周总结报告
查看>>
Selecting Courses POJ - 2239(我是沙雕吧 按时间点建边 || 匹配水题)
查看>>
Win+R指令(2)
查看>>
codeforces 578c - weekness and poorness - 三分
查看>>
数值微分方程
查看>>
动态规划--电路布线(circuit layout)
查看>>
<转>OD常用断点列表
查看>>
描边时消除锯齿SetSmoothingMode
查看>>
15回文相关问题
查看>>