第二题:public static void main(String[] args) { Scanner in = new Scanner(System.in); int goodsNum = in.nextInt(); int bag = in.nextInt(); int[] goodsWei = new int[goodsNum]; int[] goodsVal = new int[goodsNum]; for (int i = 0; i < goodsNum; i++) { goodsWei[i] = in.nextInt(); } for (int i = 0; i < goodsNum; i++) { goodsVal[i] = in.nextInt(); } System.out.println(findMaxVal(goodsWei, goodsVal, 0, bag)); } private static int findMaxVal(int[] goodsWei, int[] goodsVal, int index, int bag) { if (bag < 0) { return -1; } if (index >= goodsVal.length) { return 0; } int v1 = findMaxVal(goodsWei, goodsVal, index + 1, bag); int v2 = findMaxVal(goodsWei, goodsVal, index + 1, bag - goodsWei[index]); int v3 = 0; if (v2 != -1) { v3 = goodsVal[index] + v2; } return Math.max(v1, v3); }
点赞 评论

相关推荐

09-29 15:34
已编辑
北京航空航天大学 C++
做个有文化的流氓:结果是好的,过程不重要,而且你的offer太多了
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务