2016网易实习生招聘笔试题:已知一般App版本为1.0.0/1.0.1/1.2.3,其符合a.b.c的规则。将排序不规则,约为100w个版本号进行从小到大排序
来源:互联网 发布:linux 卸载u盘 编辑:程序博客网 时间:2024/04/30 14:02
如题目所说:已知一般App版本为1.0.0/1.0.1/1.2.3,其符合a.b.c的规则。将排序不规则,约为100w个版本号进行从小到大排序。本文是介绍的是一种对文件名进行排序的方法,文件名的格式为xxxxxxxx0.0.0.0xxxxxxxxxxx.txt的形式。其中xxxxxxx表示任意多个非数字类型的组合。0.0.0.0表示任意四个中间用点号连接的数字。比如:asadwddd0.0.0.2wefwefwefwefwf;dwefwefwefwef0.0.0.8sefergfwhgfoihrwefhrweh;fwfwfffw1.0.0.2wewevwevev;wqdwefwefwefwff0.0.0.1fefefwefwefwef(这四个文件是本案例用到的示例)。由于原理与网易面试题类似,只需将正则表达式的匹配规则稍微做一下修改,故在此与大家分享。
本题的关键分为:
1.对版本号字符串的处理,需要用到正则表达式。
2.版本号之间比较的规则,需要复写comparetor接口的compare()方法。
下面直接上代码:
在E盘下建立ceshi文件夹,存放文章开头所列出的四个txt文件,运行程序结果如下:
DONE!
声明:本文参考文章http://rickqin.blog.51cto.com/1096449/1358610
再介绍一个版本号排序的开源项目version sorter,是用C写的。项目地址:https://github.com/github/version_sorter.git感兴趣的可以看一下。
1 0
- 2016网易实习生招聘笔试题:已知一般App版本为1.0.0/1.0.1/1.2.3,其符合a.b.c的规则。将排序不规则,约为100w个版本号进行从小到大排序
- 将a,b,c从小到大排序
- 请把a b c d按从小到大排列 a b c d为非0数 已知:a=3/2=b乘3/4=c乘11/12=d乘4/15并且
- 2017年华为实习生招聘笔试题1
- 网易游戏2016实习生招聘在线笔试:A 推箱子
- 对一个数组按给定的下标排序,仅使用两两交换的方式,要求不能对数组进行扩容尽可能使用额外少的空间。原数组为:A,B,C,D,E, 现给定新的位置为3, 0, 1, 4, 2那么排序为D,A,B,E,C
- 将一个从大到小的数组,用以下排序方法排序成从小到大的,()最快。----阿里巴巴2015实习生笔试题
- 输入10个数字将其按从小到大排序输出
- 已知获得的RGB像素值为1维数组,将像素分别存入R、G、B 3个通道
- 网易2016机器翻译实习生招聘笔试编程题
- 2013网易实习生招聘笔试题
- 2018年网易笔试题1:输入一个数列a,a有n个元素,对数列b进行操作:1)将a的第一元素放在b的末尾,2)翻转b。将操作1)2)进行n次,求b
- 2017年华为实习生招聘笔试题2
- 符合SCORM 1.2 标准平台的强制性 Datamodel (已知46个中的14个为强制性)
- 现有一个用户为a,表空间为b的dmp文件,我想将其导入用户为c,表空间为d的表空间
- 一个返回json对象的问题 key 为数字时 会默认从小到大进行排序
- 33.将字符串中下标位置为奇数的字符按照ascII从小到大排序输出。
- 已知abc+cba=1333,其中a,b,c均为一位数,例如:617+716=1333,,518+815=1333,试编程求出符合这一规律的a,b,c并输出结果。
- 数据结构8-排序2
- PT大全
- 警惕UNIX下的LD_PRELOAD环境变量
- maven项目移除Maven Dependencies后如何在添加进去
- Slider Revolution
- 2016网易实习生招聘笔试题:已知一般App版本为1.0.0/1.0.1/1.2.3,其符合a.b.c的规则。将排序不规则,约为100w个版本号进行从小到大排序
- 现场六大问题分析与对策
- java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/Co
- 支付宝红包稳定性实践与思考--讲座思考
- [cqoi2015]选数 解题报告
- GooglePlay内购In-app Billing 总结~
- 关于检测输入正误的提示的研究
- 各种浏览器全屏模式的方法、属性和事件介绍(转)
- Linux 开发工具学习(gcc 、gdb和makefile)