我为这个问题编写了一个代码,结果在运行测试样本后显示失败。当大多数示例测试可以成功运行时,我不知道我的代码有什么问题,除了一个。该程序的功能是确定售票员是否能够将零钱退还给客户,因为他一开始没有零钱。电影票的价格是 25 美元。例如,一个递过的美元纸币数组如下 [25,50],当数组运行结束时,他将能够返回零钱,因为他会在开始时收到一张 25 美元纸币,并且他将能够当第二位顾客递出一张 50 美元的钞票时,将 25 美元的钞票还给他。但是,如果给定此数组 [25,100],程序将打印“NO” 因为他没有足够的零钱买那张 100 美元的钞票。顺便说一句,这是针对 Python3++ 的。
def tickets(people):
co25=0
co50=0
co100=0
collect=0
for i in people:
if(i==25):
co25+=1
elif(i==50):
co50+=1
if(co25>=1):
co25=co25-1
else:
collect+=1
elif(i==100):
co100+=1
if(co25>=1 and co50>=1):
co25=co25-1
co50=co50-1
else:
collect+=1
else:
break;
if(collect>0):
return("NO")
else:
return ("YES")