所以这就是问题所在:
新的“复仇者联盟”电影刚刚上映!电影票房中有很多人站在一条巨大的线上。他们每人都有100,50或25美元的账单。 “复仇者联盟”票价为25美元。
Vasya目前是一名职员。他想向这一行中的每个人出售一张票。
瓦西亚可以向每个人出售一张票,如果他最初没有钱就给出改变,并严格按照人们在线下的顺序出售门票吗?
如果Vasya可以向每个人出售门票并进行更改,则返回YES。否则返回NO。
我的代码:
function tickets(peopleInLine) {
var speakVasya = "";
var vasyaValue = 0;
for (var i = 0; i < peopleInLine.length; i++) {
if (peopleInLine[i] - 25 > vasyaValue) {
speakVasya = "NO";
break;
} else {
vasyaValue += 25;
speakVasya = "YES";
}
}
document.write(speakVasya);
}
tickets([25, 25, 50]);
现场演示 https://jsfiddle.net/py234z11/1/
我的问题是,根据代码大战,我的解决方案通过了7次测试,但在2时失败了,但我无法理解哪些因为它没有给出票证功能的争论。
答案 0 :(得分:3)
计算他持有的金额是不够的 - 你需要跟踪账单的数量。
例如,如果您有一张100美元的账单,您就无法为50美元或100美元的账单进行更改,您需要特定账单(25美元的账单需要50美元,25美元和50美元或3美元的25美元账单为100美元的账单做出改变。)
因此,不是保留总收入,而是跟踪收集的账单数量。