Describe a dynamic programming algorithm to determine the minimum number of coins to make c cents with coin denominations v1; v2; : : : vk.
INF = 100000
def min(x, y):
if x < y:
return x
return y
#k is number of denominations of the coin or length of d
def coin_change(d, n, k):
M = [0]*(n+1)
for j in range(1, n+1):
minimum = INF
for i in range(1, k+1):
if(j >= d[i]):
minimum = min(minimum, 1+M[j-d[i]])
M[j] = minimum
return M[n]
if __name__ == '__main__':
# array starting from 1, element at index 0 is fake
d = [0, 1, 2, 3]
print(coin_change(d, 5, 3)) #to make 5. Number of denominations = 3
Are there any code examples left?
New code examples in category TypeScript
-
TypeScript 2022-03-27 19:30:45 typescript promise
-
TypeScript 2022-03-27 17:25:44 how to search for imports in vscode
-
TypeScript 2022-03-27 17:15:20 angular formgroup mark as touched
-
TypeScript 2022-03-27 17:05:06 use of slice and splice add elements array
-
TypeScript 2022-03-27 16:50:23 android studio loop through all objects in layout
-
TypeScript 2022-03-27 14:35:08 wergensherts meaning
-
TypeScript 2022-03-27 13:50:15 remove all the elements from a numpy array python
-
TypeScript 2022-03-27 12:35:49 redux toolkit typescript install
-
TypeScript 2022-03-27 12:35:30 laravel middleware for apis