diff --git a/solution/0500-0599/0518.Coin Change 2/README.md b/solution/0500-0599/0518.Coin Change 2/README.md index 252807da3cfeb..57dc850d0b6b7 100644 --- a/solution/0500-0599/0518.Coin Change 2/README.md +++ b/solution/0500-0599/0518.Coin Change 2/README.md @@ -93,6 +93,21 @@ class Solution { } ``` +### **TypeScript** + +```ts +function change(amount: number, coins: number[]): number { + let dp = new Array(amount + 1).fill(0); + dp[0] = 1; + for (let coin of coins) { + for (let i = coin; i <= amount; ++i) { + dp[i] += dp[i - coin]; + } + } + return dp.pop(); +}; +``` + ### **Go** ```go diff --git a/solution/0500-0599/0518.Coin Change 2/README_EN.md b/solution/0500-0599/0518.Coin Change 2/README_EN.md index 530ec4754ab73..ace89384b2542 100644 --- a/solution/0500-0599/0518.Coin Change 2/README_EN.md +++ b/solution/0500-0599/0518.Coin Change 2/README_EN.md @@ -129,6 +129,21 @@ class Solution { } ``` +### **TypeScript** + +```ts +function change(amount: number, coins: number[]): number { + let dp = new Array(amount + 1).fill(0); + dp[0] = 1; + for (let coin of coins) { + for (let i = coin; i <= amount; ++i) { + dp[i] += dp[i - coin]; + } + } + return dp.pop(); +}; +``` + ### **Go** ```go diff --git a/solution/0500-0599/0518.Coin Change 2/Solution.ts b/solution/0500-0599/0518.Coin Change 2/Solution.ts new file mode 100644 index 0000000000000..f5614da0050de --- /dev/null +++ b/solution/0500-0599/0518.Coin Change 2/Solution.ts @@ -0,0 +1,10 @@ +function change(amount: number, coins: number[]): number { + let dp = new Array(amount + 1).fill(0); + dp[0] = 1; + for (let coin of coins) { + for (let i = coin; i <= amount; ++i) { + dp[i] += dp[i - coin]; + } + } + return dp.pop(); +}; \ No newline at end of file