diff --git a/problems/0518.零钱兑换II.md b/problems/0518.零钱兑换II.md
index 222a10d7..3abb9601 100644
--- a/problems/0518.零钱兑换II.md
+++ b/problems/0518.零钱兑换II.md
@@ -289,7 +289,22 @@ function change(amount: number, coins: number[]): number {
};
```
+Scala:
+```scala
+object Solution {
+ def change(amount: Int, coins: Array[Int]): Int = {
+ var dp = new Array[Int](amount + 1)
+ dp(0) = 1
+ for (i <- 0 until coins.length) {
+ for (j <- coins(i) to amount) {
+ dp(j) += dp(j - coins(i))
+ }
+ }
+ dp(amount)
+ }
+}
+```
-----------------------
diff --git a/problems/背包问题理论基础完全背包.md b/problems/背包问题理论基础完全背包.md
index 54e772e0..fc4609a6 100644
--- a/problems/背包问题理论基础完全背包.md
+++ b/problems/背包问题理论基础完全背包.md
@@ -359,7 +359,27 @@ function test_CompletePack(): void {
test_CompletePack();
```
+Scala:
+```scala
+// 先遍历物品,再遍历背包容量
+object Solution {
+ def test_CompletePack() {
+ var weight = Array[Int](1, 3, 4)
+ var value = Array[Int](15, 20, 30)
+ var baseweight = 4
+
+ var dp = new Array[Int](baseweight + 1)
+
+ for (i <- 0 until weight.length) {
+ for (j <- weight(i) to baseweight) {
+ dp(j) = math.max(dp(j), dp(j - weight(i)) + value(i))
+ }
+ }
+ dp(baseweight)
+ }
+}
+```
-----------------------