背包问题是一个经典的动态规划问题,其问题描述为:给定一个背包,容量为C;同时给定n个物品,每个物品的重量为w[i],价值为v[i]。求解将哪些物品放入背包可使这些物品的重量不超过背包容量,且价值总和最大。
Java代码如下:
public class Knapsack {
public static int knapsack(int[] w, int[] v, int C) {
int n = w.length;
int[][] dp = new int[n+1][C+1];
for (int i = 1; i <