处理sys数据,简要回归2018校招当当的一道编程题
来源:互联网 发布:网络智能电视环绕声 编辑:程序博客网 时间:2024/06/05 20:31
前两天,题主做了下当当的校招编程题,发现当当用的编译器不支持在线debug,而自己又没掌握sys的处理输入数据,自己错失第一题的良机。
第一题可简单了,今天痛心疾首的给弄出来了,警醒自己,也给大家分享下。
当当的线上编程题和其他互联网公司一样,都是给一大段文字,后面引出重点:
输入两行数据,第一行是一个数列的长度,第二行是此数列,以空格分开,要求找出最大插值和有几组这样的数例:5 1 2 3 3 1返回结果为 2 4
思路:先把数列排序,计算出最大值,然后找出有几个最值即可
import syswhile 1: a = sys.stdin.readline().strip() #strip()去除字符串首尾多余的字符(默认是空格) b = sys.stdin.readline().strip() if a == None or b == None: break a = a.split(' ') #因为sys读的数据都是以字符读入,需要按空格分开 b = b.split(' ') #b列表需要转化为数字列表 b_list = [] for _ in b: b_list.append(int(_)) b_list.sort() max_diff = b_list[-1] - b_list[0] value_min,value_max = 0,0 for i in b_list: if i == b_list[-1]: value_max += 1 if i == b_list[0]: value_min += 1 print max_diff,value_max * value_min
注意要点:
1.在这里,sys处理数据时,需要两两处理,这里就需要读两次,还要加上跳出条件;
2.sys.stdin.readline(),一行一行的读;
3.print的输出不是空格间隔,以逗号区分每个输出的值;
4.在pycharm中用sys时,在run窗口输入两行数据就可以处理了。
欢迎批评指正!
阅读全文
0 0
- 处理sys数据,简要回归2018校招当当的一道编程题
- 今年(2011)Google校招的一道笔试题
- 关于位运算的一道试题校招笔试题
- Google校招 的一道题目
- 一道百度2014校招笔试题
- 百度2014校招一道笔试题
- 一道百度校招笔试题
- 一道微策略校招笔试题
- 2017.9.9网易校招笔试最后一道编程解答
- 阿里巴巴2018校招编程测试题
- 拼多多2018校招编程题
- 网易2018校招编程题集合
- 阿里2018校招笔试编程题
- 阿里2018校招编程题
- 网易2018校招编程题
- 网易2018校招编程题
- 网易2018校招编程题3
- 网易2018校招编程题5
- 蓝桥杯 算法训练 数的统计
- 再见OI
- centos安装redis集群
- java 23 种设计模式 07装饰模式
- CSDN MarkDown 格式技巧
- 处理sys数据,简要回归2018校招当当的一道编程题
- java入门心得(面向对象概念)
- Android studio的安装和配置
- VS Code 折腾记
- 还不懂,以后再看
- Javase—java概述:
- Metasploit从入门到放弃系列教程 第一节 环境准备
- linux下rm命令改造-把文件删除到回收站
- exit(0)与exit(1)、return区别