Redian新闻
>
店面 面试题,cents change 分享,同时求好的解答
avatar
店面 面试题,cents change 分享,同时求好的解答# JobHunting - 待字闺中
d*l
1
you have 2 quarters, 4 dimes, 5 nickles, and 7 pennies. write a function to
output all the ways that you can use those coins to make 61 cents in change.
我以前写过类似的cents change,但quarter dime nickel and penny 是无限制的用。
avatar
l*8
2
dfs would work

to
change.

【在 d******l 的大作中提到】
: you have 2 quarters, 4 dimes, 5 nickles, and 7 pennies. write a function to
: output all the ways that you can use those coins to make 61 cents in change.
: 我以前写过类似的cents change,但quarter dime nickel and penny 是无限制的用。

avatar
d*l
3
能具体点吗?sorry,我没反应过来

dfs would work

【在 l*****8 的大作中提到】
: dfs would work
:
: to
: change.

avatar
H*n
4
可能说的是backtracking,就是一个个试,试不通就回溯。

【在 d******l 的大作中提到】
: 能具体点吗?sorry,我没反应过来
:
: dfs would work

avatar
e*x
5
就是backtracking,然后用一个list来记录剩余硬币的数量
不过我没想到如何在过程中去重,直接用set了,OJ妥妥会超时……
def centsChange(cents):
# pennies, nickles, dimes, quarters
quantity = [7,5,4,2]
value = [1,5,10,25]
path = [0,0,0,0]
result = []
dfs(cents, cents, path, result, quantity, value)
return list(set(result))
def dfs(remaining, cents, path, result, quantity, value):
if remaining < 0: return
if centsSum(path, value) == cents:
result.append(tuple(path))
for i,v in enumerate(quantity):
if v > 0:
path[i] += 1
quantity[i] -= 1
dfs(cents-value[i], cents, path, result, quantity, value)
quantity[i] += 1
path[i] -= 1
def centsSum(coins, value):
result = 0
for i,v in enumerate(coins):
result += v*value[i]
return result
print centsChange(61)

【在 d******l 的大作中提到】
: 能具体点吗?sorry,我没反应过来
:
: dfs would work

avatar
d*l
7
谢谢

就是backtracking,然后用一个list来记录剩余硬币的数量不过我没想到如何在过程中
去重,直接用set了,OJ妥妥会超时……def centsChange(cents)........

【在 e****x 的大作中提到】
: 就是backtracking,然后用一个list来记录剩余硬币的数量
: 不过我没想到如何在过程中去重,直接用set了,OJ妥妥会超时……
: def centsChange(cents):
: # pennies, nickles, dimes, quarters
: quantity = [7,5,4,2]
: value = [1,5,10,25]
: path = [0,0,0,0]
: result = []
: dfs(cents, cents, path, result, quantity, value)
: return list(set(result))

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。