From 6fad07b5d2200422088fc5671b0abde8e3666efa Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Tue, 8 Oct 2024 07:50:30 +0100 Subject: [PATCH 1/4] feat: add swift implementation to lcof2 problem: No.103 --- .../README.md" | 20 +++++++++++++++++++ .../Solution.swift" | 15 ++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 "lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" index 96d02c1d78299..9c2f21c65e99f 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" @@ -169,6 +169,26 @@ var coinChange = function (coins, amount) { }; ``` +#### Swift + +```swift +class Solution { + func coinChange(_ coins: [Int], _ amount: Int) -> Int { + + var dp = [Int](repeating: amount + 1, count: amount + 1) + dp[0] = 0 + + for coin in coins { + for j in coin...amount { + dp[j] = min(dp[j], dp[j - coin] + 1) + } + } + + return dp[amount] > amount ? -1 : dp[amount] + } +} +``` + diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" new file mode 100644 index 0000000000000..47130a92f82a3 --- /dev/null +++ "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" @@ -0,0 +1,15 @@ +class Solution { + func coinChange(_ coins: [Int], _ amount: Int) -> Int { + + var dp = [Int](repeating: amount + 1, count: amount + 1) + dp[0] = 0 + + for coin in coins { + for j in coin...amount { + dp[j] = min(dp[j], dp[j - coin] + 1) + } + } + + return dp[amount] > amount ? -1 : dp[amount] + } +} \ No newline at end of file From e61ec2119bef8bbba76dd53d05b7dea010b62992 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Tue, 8 Oct 2024 17:34:50 +0800 Subject: [PATCH 2/4] Update README.md --- .../README.md" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" index 9c2f21c65e99f..bcb0da5b65fc1 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" @@ -174,16 +174,16 @@ var coinChange = function (coins, amount) { ```swift class Solution { func coinChange(_ coins: [Int], _ amount: Int) -> Int { - var dp = [Int](repeating: amount + 1, count: amount + 1) dp[0] = 0 - + for coin in coins { + if coin > amount { continue } for j in coin...amount { dp[j] = min(dp[j], dp[j - coin] + 1) } } - + return dp[amount] > amount ? -1 : dp[amount] } } From 6512dbf65713ec4ebae4dc187634f2b5eee7102d Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Tue, 8 Oct 2024 17:35:04 +0800 Subject: [PATCH 3/4] Update Solution.swift --- .../Solution.swift" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" index 47130a92f82a3..2a8a532c972c1 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/Solution.swift" @@ -1,15 +1,15 @@ class Solution { func coinChange(_ coins: [Int], _ amount: Int) -> Int { - var dp = [Int](repeating: amount + 1, count: amount + 1) dp[0] = 0 - + for coin in coins { + if coin > amount { continue } for j in coin...amount { dp[j] = min(dp[j], dp[j - coin] + 1) } } - + return dp[amount] > amount ? -1 : dp[amount] } -} \ No newline at end of file +} From 2d0a2b8fec9a31966df76400abd5d2796635dab2 Mon Sep 17 00:00:00 2001 From: yanglbme Date: Tue, 8 Oct 2024 09:35:52 +0000 Subject: [PATCH 4/4] style: format code and docs with prettier --- .../README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" index bcb0da5b65fc1..c7f06ff5fb2b5 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 103. \346\234\200\345\260\221\347\232\204\347\241\254\345\270\201\346\225\260\347\233\256/README.md" @@ -175,7 +175,7 @@ var coinChange = function (coins, amount) { class Solution { func coinChange(_ coins: [Int], _ amount: Int) -> Int { var dp = [Int](repeating: amount + 1, count: amount + 1) - dp[0] = 0 + dp[0] = 0 for coin in coins { if coin > amount { continue }