题目:

The new "Avengers" movie has just been released! There are a lot of people at the cinema box office standing in a huge line. Each of them has a single10050 or 25 dollars bill. A "Avengers" ticket costs 25 dollars.

Vasya is currently working as a clerk. He wants to sell a ticket to every single person in this line.

Can Vasya sell a ticket to each person and give the change if he initially has no money and sells the tickets strictly in the order people follow in the line?

Return YES, if Vasya can sell a ticket to each person and give the change. Otherwise return NO.

-----------------------------------------------------------------------------------------------------------

找零钱的题目,客人中会出现25,50,100面值的钞票,电影票25块钱。问一条队中,店员能不能卖完电影票而且不用另外找零钱。

解题办法:

看下网友的解题思路:

def tickets(people):
n25, n50, n100 = 0, 0, 0
for i in people:
if i == 25:
n25 += 1
elif i == 50:
n25 -= 1
n50 += 1
elif i == 100 and n50>0:
n25 -= 1
n50 -= 1
elif i == 100 and n50==0:
n25 -= 3
if n25<0 or n50<0:
return "NO"
else:
return "YES"

解读:利用钱包中钱的个数来判断是否能够找得开零钱。并对100元的情况进行了分别处理,即优先使用50元来找零。

还有一种没有通过测试的算法:

def tickets(people):
sum, change,a = 0, 0, ""
for i in people:
sum += 25
change = i - 25
sum -= change
if sum < 0:
a = "NO"
else:
a = "YES"
return a

疑惑:举不出例子来说明该算法的错误之处。另外此段算法给到你,你该如何编写测试用例?

最新文章

  1. octave手册
  2. java反射详解(转)
  3. UITableView动态存放、重用机制
  4. FZU 2150 Fire Game --两点同步搜索
  5. Ubuntu 循环遍历当前目录下所有文本文件中的字符
  6. poj1094 拓扑序
  7. Codeforces 278C Learning Languages(并查集)
  8. OA学习笔记-001-项目介绍
  9. RPM工具
  10. Asp.net中向前端输出JS的一些调用
  11. 对JavaScript中的静态属性和原型属性的理解
  12. [python]_ELVE_pip2和pip3如何共存
  13. mayavi与X11的一些坑总结
  14. ASP.NET MVC从视图传参到控制器的几种形式
  15. Anaconda3下安装Anaconda2
  16. day6 三级菜单
  17. Python3 笔记
  18. python图片识别
  19. (7)Why 30 is not the new 20
  20. Spring源码分析(十八)创建bean

热门文章

  1. 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
  2. 023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之——自增自减运算符
  3. 多测师_肖sir_git _004(版本控制器)
  4. chrome(谷歌)登录失败解决方案
  5. json对象去重,根据指定字段
  6. 【C语言】这种求结构体成员大小的方法,你可能需要了解一下~
  7. 经验分享:对于刚接触开发的大学生,怎么在Windows查看与关闭端口占用方法?
  8. kinaba 安装踩坑: FATAL Error: [elasticsearch.url]: definition for this key is missing 转
  9. utf-8和utf-8-sig的区别
  10. spring注解@Transactional 和乐观锁,悲观锁并发生成有序编号问题