处理sys数据,简要回归2018校招当当的一道编程题
2017-11-26 14:15
405 查看
前两天,题主做了下当当的校招编程题,发现当当用的编译器不支持在线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:breaka = 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,0for i in b_list:if i == b_list[-1]:value_max += 1if i == b_list[0]:value_min += 1print max_diff,value_max * value_min注意要点:
1.在这里,sys处理数据时,需要两两处理,这里就需要读两次,还要加上跳出条件;
2.sys.stdin.readline(),一行一行的读;
3.print的输出不是空格间隔,以逗号区分每个输出的值;
4.在pycharm中用sys时,在run窗口输入两行数据就可以处理了。欢迎批评指4000正!
相关文章推荐
- 网易2018校招内推Android笔试编程题一道
- 2018链家校招内推-大数据开发工程师笔试编程题
- 百度实习生招聘的一道大数据处理题目(上)
- 阿里2018校招笔试编程题
- 阿里2018校招编程题
- 2018京东校招笔试题-数据分析岗
- 2018拼多多内推校招编程题
- 今日头条2018校招算法方向(第一批)编程题1(离散+树状数组)
- 百度实习生招聘的一道大数据处理题目(下)
- 阿里2018校招客户端研发笔试之编程题
- (网易2018校招笔试)[编程题] 游历魔法王国
- 网易2018校招内推编程题
- 又一道有意思的OJ:GPS数据处理
- 昨天面试的一道编程题 将人民币大写转换成数字,并且保证数据不能超过一亿
- (网易2018校招笔试)[编程题] 相反数
- 网易2018校招编程题集合6
- 网易2018校招内推编程题
- 爱奇艺2018秋季校招C++工程师(第三场)编程题 - 题解
- 爱奇艺2018秋季校招C++工程师(第一场)编程题 - 题解
- 网易2018校招编程题5