-
Notifications
You must be signed in to change notification settings - Fork 434
Expand file tree
/
Copy pathmincoin.py
More file actions
29 lines (22 loc) · 680 Bytes
/
mincoin.py
File metadata and controls
29 lines (22 loc) · 680 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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))