这道题中要求时间复杂度为O(n),首先我们可以知道的是,如果先对数组排序再计算其最长连续序列的时间复杂度是O(nlogn),所以不能用排序的方法。我一开始想是不是应该用动态规划来解,发现其并不符合动态规划的特征。最后采用类似于LRU_Cache中出现的数据结构(集快速查询和顺序遍历两大优点于一身)来...
分类:
其他好文 时间:
2014-04-28 10:21:19
阅读次数:
1003
对一句话里面的单词进行reverse,标点符号位置不变。符号包括:,.!?
例:输入:Hello, my dear friend! 输出:olleH, ym raed dneirf!
思路:由于需要逆序输出,因此想到利用栈数据结构来实现。代码如下(调试环境:VS2013):
分类:
其他好文 时间:
2014-04-27 21:05:01
阅读次数:
596
1.先对文件内容排序:cat 1.txt |sort > 2.txt 保存到2.txt中
2.使用vim打开2.txt 执行替换命令:
替换空格:%s/ //g
替换tab:%s/^I//g (注意:^I 是直接按键盘是的tab键)
替换$: %s/^M//g (注意:^M 是按ctrl+v 再按Enter键)
3.cat 2.txt | uniq > 3.txt
本文为...
分类:
其他好文 时间:
2014-04-27 19:07:00
阅读次数:
544
对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()...
分类:
其他好文 时间:
2014-04-27 19:03:01
阅读次数:
491