We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3e5e264 commit eb51c41Copy full SHA for eb51c41
1 file changed
Target Offer/零钱找零以及进阶
@@ -0,0 +1,40 @@
1
+'''
2
+零钱找零问题,使用动态规划
3
4
+def ChangeMaking(coinVal, change):
5
+ alist = [0]*(change+1)
6
+ for i in range(1, change+1):
7
+ temp = change; j = 0
8
+ while j <= len(coinVal)-1 and i >= coinVal[j]:
9
+ temp = min(alist[i-coinVal[j]], temp)
10
+ j += 1
11
+ alist[i] = temp + 1
12
+ return alist.pop()
13
+
14
+print(ChangeMaking([1, 5, 10, 25], 63))
15
16
17
+零钱找零问题的进阶
18
+美团笔试题
19
+给你六中零钱1,5,10,20,50,100的纸币,给定一个金额,写出所有可能的找零的个数
20
+输入2,输出1;输入5,输出2
21
+也是使用动态规划
22
23
+import sys
24
+try:
25
+ while True:
26
+ line = sys.stdin.readline().strip()
27
+ if line == '':
28
+ break
29
+ target = int(line)
30
+ coinVal = [1, 5, 10, 20, 50, 100]
31
+ alist = [0]*(target+1)
32
+ alist[0] = 1
33
+ for i in range(6):
34
+ j = coinVal[i]
35
+ while j <= target:
36
+ alist[j] = alist[j] + alist[j-coinVal[i]]
37
38
+ print(alist[-1])
39
+except:
40
+ pass
0 commit comments