File tree Expand file tree Collapse file tree 1 file changed +11
-11
lines changed Expand file tree Collapse file tree 1 file changed +11
-11
lines changed Original file line number Diff line number Diff line change 5959
6060以下方法,以动态方式,提供最小的硬币数量。避免了贪婪方法的问题。
6161
62- def coinChange(centsNeeded, coinValues):
63- minCoins = [[ 0 for j in range(centsNeeded + 1)] for i in range(len(coinValues))]
64- minCoins[ 0] = range(centsNeeded + 1)
65-
66- for i in range(1,len(coinValues)):
67- for j in range(0, centsNeeded + 1):
68- if j < coinValues[ i] :
69- minCoins[ i] [ j ] = minCoins[ i-1] [ j ]
70- else:
71- minCoins[ i] [ j ] = min(minCoins[ i-1] [ j ] , 1 + minCoins[ i] [ j-coinValues[ i]] )
72- return minCoins[ -1] [ -1 ]
62+ def coinChange(centsNeeded, coinValues):
63+ minCoins = [[0 for j in range(centsNeeded + 1)] for i in range(len(coinValues))]
64+ minCoins[0] = range(centsNeeded + 1)
65+
66+ for i in range(1,len(coinValues)):
67+ for j in range(0, centsNeeded + 1):
68+ if j < coinValues[i]:
69+ minCoins[i][j] = minCoins[i-1][j]
70+ else:
71+ minCoins[i][j] = min(minCoins[i-1][j], 1 + minCoins[i][j-coinValues[i]])
72+ return minCoins[-1][-1]
You can’t perform that action at this time.
0 commit comments