第一次做完整的SRM题,刷完感觉萌萌哒,不过自己对java中很多细节不熟练,还要边做题边google。

250分的题:判断字符串序列是否是前缀码,如果不是,返回第一个违反前缀码规则的字符串。

简单的暴力方法,要积累的是java中startsWith的用法:

 public boolean startsWith(String prefix)

如果prefix是调用该函数的字符串的前缀,返回true,否则返回false。从实际经验来看,对大小写是敏感的,即No不是not的前缀。

完整代码连接:GitHub

500分题:给定一个日期和一组人的生日,问从当前日期开始,下一次生日在什么时间。

首先对这组人的生日排序,然后用二分查找当前日期;如果找到,就返回当前日期;否则,返回数组中第一个比当前日期大的日期。另外需要注意的一点是,如果数组中没有比当前日期大的日期,则返回数组中最小的日期(相当于从明年开始算)。

积累java中Comparator的使用方法:实现一个新的类,并且实现接口Comparator,即实现函数compare。在compare中,如果两个对象是小于关系返回1,等于返回0,大于返回-1。

实现了这个接口以后,无论是排序还是二分,都可以用java自带的函数了,十分方便快捷。

完整代码连接:GitHub(不过这题我有个case没过T_T)。

1000分题:计算mergesort中元素的比较次数,mergesort的过程题目很有爱的用伪码给出了。

就是实现一个mergesort就可以了。

完整代码:GitHub

最新文章

  1. [转]Linux 的多线程编程的高效开发经验
  2. 链表c++实现一
  3. Zerojudge解题经验交流
  4. Visual Studio 2012 离线升级包的制作
  5. (转载)Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)
  6. readint writeint
  7. PAT (Advanced Level) 1099. Build A Binary Search Tree (30)
  8. 分享一篇vue项目规范
  9. Java架构师学习路线
  10. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
  11. [20190101]块内重整.txt
  12. Python的快排应有的样子
  13. 外网访问SQLServer数据库holer实现
  14. 8bit数据 转换为 16bit数据的四种方法
  15. 数据分箱:等频分箱,等距分箱,卡方分箱,计算WOE、IV
  16. PHP-CGI、FASTCGI和php-fpm的关系
  17. 剑指offer——面试题32:从上到下打印二叉树
  18. Oracle中与日期时间有关的运算函数
  19. xpath-grab english name
  20. [Nescafé41]异化多肽(多项式求逆元)

热门文章

  1. python 使用正则表达式的爬虫
  2. 【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势
  3. js的一些技巧总结
  4. WPF 后台任务 等待动画 样例 && C# BackgroundWorker 详解
  5. [Unity基础]移动平台下的文件读写
  6. ASP.NET MVC 使用dataTable(3)--更多选项参考
  7. 【BZOJ1976】[BeiJing2010组队]能量魔方 Cube 最小割
  8. stochastic matrix
  9. Man-in-the-middle attack
  10. 使用jquery获取单选按钮radio的值