var canPartition = function(nums) {
let sum=nums.reduce((a,b)=>a+b)
if(sum%2===1){
return false
}
let n=sum/2
let dp=new Array(n+1).fill(0)
let len=nums.length
for(let i=0;i<len;i++){ //遍历下标
for(let j=n;j>=nums[i];j--){ //遍历背包还剩的空间
dp[j]=Math.max(dp[j],dp[j-nums[i]]+nums[i])
if(dp[j]===n){
return true
}
}
}
return dp[n]===n
};
416. 分割等和子集(JavaScript)
最新推荐文章于 2024-07-08 16:22:29 发布