【发布时间】:2020-11-19 01:29:47
【问题描述】:
我有这个任务,我必须将给定数量的钱分成账单。我看不出我做错了什么,因此寻求一些指导。
export function change(amount) {
var bills = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000];
var result = [];
while (amount > 0) {
for (var i = 0; i < bills.length; i++) {
if (amount >= bills[i]) {
amount -= bills[i];
result.push(bills[i]);
}
}
}
return result.length;
}
【问题讨论】:
-
欢迎来到 SO。请考虑使用相关标签标记您的问题。垃圾邮件标签没有效率。也就是说,您的 bills[] 数组以 1.. 开头。也许反转您的 bills 数组可能会有所帮助?
-
也就是说,请发布您的输入、实际输出和预期输出。
-
如果
if语句条件为真,则跳出for 循环。哦...并按降序设置您的 bills 数组,而不是像现在这样升序。 -
@DevilsHnd 我不认为这是解决方案
-
您可能想尝试向后迭代
bills,因为您想先尝试更大的账单,而不是从 1 开始。
标签: javascript