diff --git a/problems/背包理论基础01背包-2.md b/problems/背包理论基础01背包-2.md index b66b74a6..81e61be4 100644 --- a/problems/背包理论基础01背包-2.md +++ b/problems/背包理论基础01背包-2.md @@ -375,7 +375,33 @@ console.log(testWeightBagProblem(weight, value, size)); ``` +### Scala +```scala +object Solution { + // 滚动数组 + def test_1_wei_bag_problem(): Unit = { + var weight = Array[Int](1, 3, 4) + var value = Array[Int](15, 20, 30) + var baseweight = 4 + + // dp数组 + var dp = new Array[Int](baseweight + 1) + + // 遍历 + for (i <- 0 until weight.length; j <- baseweight to weight(i) by -1) { + dp(j) = math.max(dp(j), dp(j - weight(i)) + value(i)) + } + + // 打印数组 + println("[" + dp.mkString(",") + "]") + } + + def main(args: Array[String]): Unit = { + test_1_wei_bag_problem() + } +} +``` -----------------------