【TopCoder】SRM151 DIV2 练习总结
2024-08-28 10:40:47
第一次做完整的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
最新文章
- [转]Linux 的多线程编程的高效开发经验
- 链表c++实现一
- Zerojudge解题经验交流
- Visual Studio 2012 离线升级包的制作
- (转载)Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)
- readint writeint
- PAT (Advanced Level) 1099. Build A Binary Search Tree (30)
- 分享一篇vue项目规范
- Java架构师学习路线
- Fiddler抓取https请求 &; Fiddler抓包工具常用功能详解
- [20190101]块内重整.txt
- Python的快排应有的样子
- 外网访问SQLServer数据库holer实现
- 8bit数据 转换为 16bit数据的四种方法
- 数据分箱:等频分箱,等距分箱,卡方分箱,计算WOE、IV
- PHP-CGI、FASTCGI和php-fpm的关系
- 剑指offer——面试题32:从上到下打印二叉树
- Oracle中与日期时间有关的运算函数
- xpath-grab english name
- [Nescafé41]异化多肽(多项式求逆元)
热门文章
- python 使用正则表达式的爬虫
- 【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势
- js的一些技巧总结
- WPF 后台任务 等待动画 样例 &;&; C# BackgroundWorker 详解
- [Unity基础]移动平台下的文件读写
- ASP.NET MVC 使用dataTable(3)--更多选项参考
- 【BZOJ1976】[BeiJing2010组队]能量魔方 Cube 最小割
- stochastic matrix
- Man-in-the-middle attack
- 使用jquery获取单选按钮radio的值