领扣LintCode算法问题答案-92. 背包问题

    科技2025-06-01  37

    领扣LintCode算法问题答案-92. 背包问题

    目录

    92. 背包问题描述样例 1:样例 2: 题解鸣谢

    92. 背包问题

    描述

    在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]

    你不可以将物品进行切割。

    样例 1:

    输入: [3,4,8,5], backpack size=10 输出: 9

    样例 2:

    输入: [2,3,5,7], backpack size=12 输出: 12

    题解

    public class Solution { /** * @param m: An integer m denotes the size of a backpack * @param A: Given n items with size A[i] * @return: The maximum size */ public int backPack(int m, int[] A) { // write your code here int n = A.length; if (n == 0 || m == 0) { return 0; } int[] dp = new int[m + 1]; for (int i = 0; i < n; i++) { for (int j = m; j >= A[i]; j--) { dp[j] = Integer.max(dp[j], dp[j - A[i]] + A[i]); } } return dp[m]; } }

    原题链接点这里

    鸣谢

    非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

    Processed: 0.010, SQL: 8