沈阳建网站电商,建设部网站一级开发资质,泉州做网站工资,濮阳做网站多少钱代码随想录训练营第42天|416.分割等和子集 416.分割等和子集文章思路代码 总结 416.分割等和子集
文章
代码随想录|0416.分割等和子集
思路
看作容量为总和一半的背包问题#xff0c;某方案恰好能装满时返回TRUE 二刷#xff0c;还是不能一遍过 新学了一维数组的写法
代… 代码随想录训练营第42天|416.分割等和子集 416.分割等和子集文章思路代码 总结 416.分割等和子集
文章
代码随想录|0416.分割等和子集
思路
看作容量为总和一半的背包问题某方案恰好能装满时返回TRUE 二刷还是不能一遍过 新学了一维数组的写法
代码
class Solution {public boolean canPartition(int[] nums) {int capacity 0;int i, j, n;n nums.length;for (i 0; i n; i) {capacity nums[i];}if (capacity % 2 1) {return false;}capacity / 2;int[] dp new int[capacity 1];for (j 0; j capacity 1; j) {dp[j] nums[0] j ? nums[0] : 0;//System.out.print( dp[j]);}//System.out.println();for (i 1; i n; i) {for (j capacity; j 0; --j) {dp[j] j nums[i] ? Math.max(dp[j - nums[i]] nums[i], dp[j]) : dp[j];//System.out.print( dp[j]);if (dp[j] capacity) {return true;}}//System.out.println();}return false;}
}总结
一维数组要倒序遍历防止修改过前面的值对后面造成影响