This commit is contained in:
krahets
2023-09-03 19:14:37 +08:00
parent ca7b5c0ac2
commit f07e94ab0c
7 changed files with 95 additions and 8 deletions
+19 -1
View File
@@ -196,7 +196,25 @@ status: new
=== "Swift"
```swift title="coin_change_greedy.swift"
[class]{}-[func]{coinChangeGreedy}
/* 零钱兑换:贪心 */
func coinChangeGreedy(coins: [Int], amt: Int) -> Int {
// 假设 coins 列表有序
var i = coins.count - 1
var count = 0
var amt = amt
// 循环进行贪心选择,直到无剩余金额
while amt > 0 {
// 找到小于且最接近剩余金额的硬币
while i > 0 && coins[i] > amt {
i -= 1
}
// 选择 coins[i]
amt -= coins[i]
count += 1
}
// 若未找到可行方案,则返回 -1
return amt == 0 ? count : -1
}
```
=== "Zig"