Quiz: Dynamic Programming
Congrats! You made it to the last quiz!
1
Which is the correct algorithm for the Money Change Problem?
A)
def change(money):
table = [float('inf')] * (money + 1)
table[0] = 0
for m in range(1, money + 1):
for coin in (1, 3, 4):
if coin <= m:
table[m] = min(table[m], table[m - coin])
return table[money]
B)
def change(money):
table = [float('inf')] * (money + 1)
table[0] = 0
for m in range(1, money + 1):
for coin in (1, 3, 4):
if coin <= m:
table[m] = min(table[m], table[m - coin] + 1)
return table[money]
C)
def change(money):
table = [float('inf')] * (money + 1)
table[0] = 0
for m in range(1, money + 1):
for coin in (1, 3, 4):
if coin <= m:
table[m] = max(table[m], table[m - coin] + 1)
return table[money]
D)
def change(money):
table = [float('inf')] * (money + 1)
table[0] = 0
for m in range(1, money + 1):
for coin in (1, 3, 4):
if coin <= m:
table[m] = min(table[m], table[coin] + 1)
return table[money]
Question 1 of 60 attempted
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.