diff --git a/exercises/practice/change/.approaches/dynamic-programming/content.md b/exercises/practice/change/.approaches/dynamic-programming/content.md index c5801342c..4c2ce7c1d 100644 --- a/exercises/practice/change/.approaches/dynamic-programming/content.md +++ b/exercises/practice/change/.approaches/dynamic-programming/content.md @@ -46,7 +46,7 @@ It minimizes the number of coins needed by breaking down the problem into smalle 1. **Initialize Coins Usage Tracker**: - - If the `grandTotal` is negative, an exception is thrown immediately. + - If the `grandTotal` is negative, an exception is thrown immediately. - We create a list `coinsUsed`, where each index `i` stores the most efficient combination of coins that sum up to the value `i`. - The list is initialized with an empty list at index `0`, as no coins are needed to achieve a total of zero. @@ -61,7 +61,6 @@ It minimizes the number of coins needed by breaking down the problem into smalle - After processing all values up to `grandTotal`, the combination at `coinsUsed[grandTotal]` will represent the most efficient solution. - If no valid combination exists for `grandTotal`, an exception is thrown. - - **Time Complexity**: The time complexity of this approach is **O(n * m)**, where `n` is the `grandTotal` and `m` is the number of available coin denominations. This is because we iterate over all coin denominations for each amount up to `grandTotal`. - **Space Complexity**: The space complexity is **O(n)** due to the list `coinsUsed`, which stores the most efficient coin combination for each total up to `grandTotal`.