首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
lc416专题
代码随想录算法训练营Day42|LC416 分割等和子集
一句话总结:背包问题。 原题链接:416 分割等和子集 拿到题先明确这是动态规划的题,具体类型是01背包问题。到了题目解法这里,首先判断数组加和是否为偶数,否则return false。然后就是01背包问题的解题思路了。具体地,将target设置为sum / 2,即背包的容量就是sum / 2,然后背包中放进来的商品价值与所占体积均为nums[i],每个nums[i]仅能加入答案一次。最后
阅读更多...
9.8分割等和子集(LC416-M)
算法: 可以转换为背包问题: 一个商品如果可以重复多次放入是完全背包,而只能放入一次是01背包,写法还是不一样的。 要明确本题中我们要使用的是01背包,因为元素我们只能用一次。 只有确定了如下四点,才能把01背包问题套到本题上来。 背包的体积为sum / 2背包要放入的商品:集合里的元素。重量为 元素的数值,价值也为元素的数值背包如果正好装满,说明找到了总和为 sum / 2 的
阅读更多...
LC416. 分割等和子集
代码随想录 class Solution {public boolean canPartition(int[] nums) {if(nums == null || nums.length == 0) return false;int n = nums.length;int sum = 0;for(int num : nums) {sum += num;}if(sum % 2 != 0) ret
阅读更多...