Leetcode: Partition Equal Subset Sum
2016-12-03 10:29
375 查看
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: Each of the array element will not exceed 100. The array size will not exceed 200. Example 1: Input: [1, 5, 11, 5] Output: true Explanation: The array can be partitioned as [1, 5, 5] and [11]. Example 2: Input: [1, 2, 3, 5] Output: false Explanation: The array cannot be partitioned into equal sum subsets.
Backpack problem: dp[i][j] means if the first i elements can sum up to value j
dp[i][j] = dp[i-1][j] || (j>=nums[i-1] && dp[i-1][j-nums[i-1]])
the result is if the half sum of the array can be summed up by elements in the array
1 public class Solution { 2 public boolean canPartition(int[] nums) { 3 if (nums.length == 0) return true; 4 int volume = 0; 5 for (int num : nums) { 6 volume += num; 7 } 8 if (volume % 2 == 1) return false; 9 volume /= 2; 10 boolean[] dp = new boolean[volume+1]; 11 dp[0] = true; 12 for (int i=1; i<=nums.length; i++) { 13 for (int j=volume; j>=0; j--) { 14 dp[j] = dp[j] || (j>=nums[i-1] && dp[j-nums[i-1]]); 15 } 16 } 17 return dp[volume]; 18 } 19 }
相关文章推荐
- LeetCode - 416 - Partition Equal Subset Sum
- [LeetCode416]Partition Equal Subset Sum
- Partition Equal Subset Sum - leetcode 416号题目个人题解
- [LeetCode] Partition Equal Subset Sum
- leetCode No.416 Partition Equal Subset Sum
- [LeetCode] Partition Equal Subset Sum 相同子集和分割
- LeetCode[416] Partition Equal Subset Sum
- LeetCode #416: Partition Equal Subset Sum
- LeetCode—— Partition Equal Subset Sum
- LeetCode Partition Equal Subset Sum
- 每周LeetCode算法题(五):416. Partition Equal Subset Sum
- [LeetCode]Partition Equal Subset Sum
- LeetCode: Partition Equal Subset Sum
- [LeetCode]Partition Equal Subset Sum(Java)
- [LeetCode] Partition Equal Subset Sum划分数组形成两个和相等的子集
- [LeetCode] 416 Partition Equal Subset Sum
- 【Leetcode】416-Partition Equal Subset Sum -- javascript解法 01背包问题
- leetcode-416-Partition Equal Subset Sum
- leetcode(416). Partition Equal Subset Sum
- leetcode 416 c++. Partition Equal Subset Sum