diff --git a/Dynamic Programming/mincoin.py b/Dynamic Programming/mincoin.py new file mode 100644 index 0000000..da90708 --- /dev/null +++ b/Dynamic Programming/mincoin.py @@ -0,0 +1,29 @@ +import sys + +def min_coins(coins,sum): + + # dp[i] will be storing the minimum + dp = [0 for i in range(sum + 1)] + + # Base case + dp[0] = 0 + + # Initialize values as Infinite + for i in range(1, sum + 1): + dp[i] = sys.maxsize + + # for all values from 1 to sum + for i in range(1, sum + 1): + for j in range(len(coins)): + if (coins[j] <= i): + res = dp[i - coins[j]] + if (res != sys.maxsize and res + 1 < dp[i]): + dp[i] = res + 1 + return dp[sum] + + +if __name__ == "__main__": + coins = [9, 6, 5, 1] + m = len(coins) + amount = 11 + print("Minimum coins:",min_coins(coins,amount)) \ No newline at end of file diff --git a/README.md b/README.md index def3d69..a19c7d8 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ Pune, Maharashtra, India.
* [Fibonacci Series](Dynamic%20Programming/P01_Fibonnaci.py) * [Longest Increasing Subsequence](Dynamic%20Programming/P02_LongestIncreasingSubsequence.py) * [Longest Continuous Odd Subsequence](Dynamic%20Programming/P03_LongestContinuousOddSubsequence.py) +* [Count Minimum Number of Coins](Dynamic%20Programming/mincoin.py) # Donation