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 59
59
60
60
以下方法,以动态方式,提供最小的硬币数量。避免了贪婪方法的问题。
61
61
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