4399游戏校招笔试题
A. 38,13,27,49,49,65,97,76
B. 13,27,38,49,65,76,97,49
C. 27,38,13,49,76,97,65,49
D. 27,38,13,49,97,76,65,49
这道题选C!
分析:
在遇到这个问题的时候,不动手还是不知道自己有多么基础不扎实
废话不多说,具体分析和个人体会放在代码里了
#-*-coding=UTF-8 -*- #Quicksort Algorithm s = raw_input().split(',') s = map(int, s)#将序列s转换成数字序列。 print s#先输出这个转换后的序列,然后再进行排序处理 def Sort(str,low,high): key = str[low]#始终以序列第一个元素作为目标key值。 while low < high: while (low < high) and (str[high] >= key): high -= 1 str[low] = str[high]#慢慢分析:high作为序列尾部“指针”,注意和C语言的指针意思不一样, #(意思是起序列尾部元素下标的指示作用) #当从后往前序列中元素的值大于我们key值的时候就继续向前搜索 #直到元素小于key值为止,这个时候就把值赋值给str[low] while (low < high) and (str[low] <= key): low += 1 str[high] = str[low]#接下来继续分析:把high的问题解决了,该处理low的问题了, #当从前往后检索元素,凡是小于等于目标key值的元素就继续 #直到发现比key值大的元素为止。 #注意,这个时候low的值是变化了的,也就是肯定向后移位了若干次 #我们然后在前提条件下(LOW < HIGH) # 将此时的str[low]赋值给str[high] #因为此时的str[low]是比key大的呀,我们要把它放到后面去 #所以此时的str[high]变成了比key值大的数了 str[low] = key#通过上面两个循环的操作,我们知道了凡是小于key的我们赋值给 #原本下标没有变化时的str[low],也就是序列的最前面的元素项 # 大于key值的我们赋值给str[high] #然后最精髓的是将key值赋值给新的str[low] #看不懂程序的也就是会在这一点,关于low值的变化上暂时会 #想不明白 #到这一步,也就完成了第一次操作,将key值准确无误地放在了 #它应有的位置上。 print s #然后我们先输出这一次操作之后的s序列。 return low # 返回新的low值,为了下一次区分区间 def quick_sort(array,low,high): if low < high: key_index = Sort(array,low,high)quick_sort(array,low,key_index)quick_sort(array,key_index+1,high)#递归函数用来不断处理序列 if __name__ == '__main__': quick_sort(s,0,len(s)-1)
49,38,65,97,76,13,27,49
[49, 38, 65, 97, 76, 13, 27, 49]
[27, 38, 13, 49, 76, 97, 65, 49]
[13, 27, 38, 49, 76, 97, 65, 49]
[13, 27, 38, 49, 76, 97, 65, 49]
[13, 27, 38, 49, 76, 97, 65, 49]
[13, 27, 38, 49, 49, 65, 76, 97]
[13, 27, 38, 49, 49, 65, 76, 97]
[13, 27, 38, 49, 49, 65, 76, 97]
在这里为什么正确结果多输出了两遍,我认为应该是当分区后的序列只剩下对的序列的时候,程序仍然执行,子程序又被执行了两遍,所以会出现上面的结果。
注意print s 语句的位置一定要放在第一个while循环里面,这样能输出第一次操作的结果
要是放在了嵌套的while语句里面输出的结果一定不是第一次操作结束的最终结果!
4399游戏校招笔试题相关推荐
- 2018网易游戏校招笔试题
2017年4月15日的网易游戏实习生校招题目,3道题,2小时,对于没有经过ACM训练的人来说时间挺紧,最后没做完.但是毕竟猪场挑高手,自己技不如人,还需要多多努力.回头自己整理了下自己做得题目.可能有 ...
- 数据分析真题日刷 | 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷
今日真题 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷(来源:牛客网) 题型 客观题:单选5道,不定项选择10道 主观题:问答4道 完成时间 90分钟 牛客网评估难度系数 ...
- 网易互娱2020校招游戏研发笔试题
网易互娱游戏研发笔试题 第一题:判断一个数的二进制是否为回文串(AC) 方法一:存成数组之后比较 #include<iostream> #include<algorithm> ...
- 百度2019校招笔试题
百度2019校招笔试题 1. 探险安排 小明要为n个人计划一次火星的探险,其中一个重要的任务是为每个参与者安排食物.仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai.每个人每天必须用且只 ...
- 九月十月 阿里 百度 华为 校招笔试题
九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面 ...
- 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...
原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...
- 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个
要求: 这是本人参加美团校招在线考试笔试题,如果此行为违反了美团校招笔试题商业保密性,请与本人联系. 思路:用一个while循环扫描整个字符串,用pStart字符指针指向整个字符串首地址,如果遇到首部 ...
- 小米运维部14年校招笔试题A的个人答案
15年准备实习生面试时答的题,仅供参考 具体题目详见 http://www.tuicool.com/articles/eYRZBr http://noops.me/?p=1154 一.linux基础 ...
- 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结
剑指Offer--腾讯+360+搜狗校招笔试题+知识点总结 9.11晚7:00,腾讯笔试.选择题与编程.设计题单独计时. 栈是不是顺序存储的线性结构啊? 首先弄明白两个概念:存储结构和逻辑结构. 数据 ...
最新文章
- 中国互联网+机器视觉行业商业模式创新与投资机会深度研究报告
- Python十段经典代码
- Bentley MicroStation V8i安装教程
- 解读综合布线12大热点技术趋势
- java string问题_Java关于String的问题?
- java加快内存回收_java内存管理之垃圾回收及JVM调优
- 计算机网络——码元,波特,速率和带宽
- ZZULIOJ 1158: 又是排序(指针专题)
- 【测试】模拟一个全表扫描的sql,对其进行优化走索引,并且将执行计划稳定到baseLine。...
- MySQL命令窗口出现中文乱码的解决方法
- 【重点】程序员面试金典——4.6寻找下一个结点
- 【BZOJ3924】[Zjoi2015]幻想乡战略游戏 动态树分治
- Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
- 接外包项目的几点技巧
- php 添加数据sql语句,PHP添加/修改/删除SQL语句
- endnote 参考文献加序号_求助endnote 中 文末的参考文献 序号中如何设置成带中括号的 [序号]...
- Flixel Dame 坦克大战(三)完成基本逻辑
- (附源码)springboot金融新闻信息服务系统 毕业设计651450
- 挂牌!迎来【济南网络空间安全山东省实验室】等三所实验室!
- Kubernetes1.3:QoS服务质量管理
热门文章
- Metasploaitable和侦察httrack-安全牛课堂网络安全之Web渗透测试练习记录
- 5G多卡聚合路由保障疫情数据监控系统网络稳定通畅
- “雪人计划“IPV6根服务器全球分布情况
- [医学影像基础] 脑部MRI影像
- matlab三相异步电动机,MATLAB中的三相异步电动机仿真.doc
- 计算机教学assure模型教案,ASSURE模型0ppt课件.ppt
- 2021年3月电子学会Python等级考试试卷(三级)考题解析
- 无人值守地磅防作弊就是在地磅周围加个摄像头吗?
- 双卡双待的手机会有两个IMEI号
- 【大唐杯备考】——5G系统勘察设计(学习笔记)