动态规划:分割等和子集(01背包问题)

//本题目可以转换为:容量为num/2的背包,这n个物品的体积和价值都相等,求dp[sum/2]是否等于sum/2
class Solution {
   public boolean canPartition(int[] nums) {
        int target=0;
        for (int num : nums) {
            target+=num;
        }
        if (target%2!=0) return false;
        target/=2;
        int []dp=new int[target+1];
        Arrays.fill(dp,0);
        for (int i = 0; i <nums.length ; i++) {
            for (int j = target; j >=nums[i] ; j--) {
                dp[j]=Math.max(dp[j],dp[j-nums[i]]+nums[i]);
            }
        }
        if (dp[target]==target) return true;
        else return false;
    }
}
//当dp[target]=target,说明在sum/2的容量下,里面的数字之和刚好也为sum/2
//01背包不仅能解决最大价值问题,还可以解决能否装满背包的问题
全部评论

相关推荐

查看16道真题和解析
点赞 评论 收藏
分享
05-04 11:25
门头沟学院 Java
攒攒人品!有面试过同岗的朋友欢迎评论区交流1.实习拷打2.项目里你遇到最大的难点是什么?怎么解决的?3.rag针对模糊提问精准检索:如何识别用户问题模糊度?完整处理流程?4.关键词检索存在关键词漂移问题,如何平衡向量匹配&nbsp;&amp;&nbsp;关键词匹配?5.混合检索&nbsp;RRF&nbsp;加权参数&nbsp;K,你是怎么调的?业务上有没有自定义调整?6.向量检索更准时,K&nbsp;值应该调大还是调小?7.查空教室&nbsp;+&nbsp;推荐火锅,多轮推理、任务调度是怎么做的?8.前序&nbsp;Agent&nbsp;编造假教室(幻觉),直接执行下一步火锅推荐,幻觉链式积累怎么处理?9.如果检测&nbsp;Agent&nbsp;自身也幻觉、误判,工程上怎么解决?如何保证检测&nbsp;Agent&nbsp;可靠?10.项目基于&nbsp;GPT5.4,有没有真实用户大规模上线使用?11.简历写测试服务耗时缩短&nbsp;40%,是线上数据还是个人自测?12.ToC&nbsp;上线有没有考虑敏感词、违规内容安全过滤?13.开发过程有没有使用&nbsp;AI&nbsp;辅助开发(vibe&nbsp;coding)?完整工作流程是什么?14.AI&nbsp;长任务开发出现上下文丢失、忘记需求、乱改代码,如何优化解决?15.本科学习中你认为最重要的基础技能是什么?为此做了哪些努力?16.HTTP1.1、HTTP2、HTTP3&nbsp;协议核心区别精华是什么?17.HTTP3&nbsp;性能更好,为什么内网微服务依然多用&nbsp;HTTP2?HTTP2&nbsp;内网优势是什么?18.V8&nbsp;引擎垃圾回收机制是什么?19.MySQL&nbsp;索引原理是什么?B&nbsp;+&nbsp;树结构?20.向量检索引擎算法&nbsp;IVF、HNSW&nbsp;核心区别是什么?21.Java&nbsp;接口和抽象类的区别?22.Java8&nbsp;接口支持&nbsp;default&nbsp;默认方法后,抽象类还有存在意义吗?接口无法替代抽象类的点是什么?23.ai&nbsp;coding&nbsp;编写一个函数
查看22道真题和解析
点赞 评论 收藏
分享
05-06 20:06
已编辑
门头沟学院 算法工程师
查看20道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务