这道题中要求时间复杂度为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
写Demo程序的时候能表带自定义的数据结构对象吗?
--低级程序猿
前情提要:网上介绍TextView+SpannableString的文章真心太长,真心看不懂。
====原文=====
下面是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件。
TextView useInfo ...
分类:
其他好文 时间:
2014-04-27 20:33:09
阅读次数:
580
支持泛型AVL Tree的简单实现,并和STL map比较了插入,删除,查找的性能...
分类:
其他好文 时间:
2014-04-27 19:43:40
阅读次数:
400
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
分析:这道题可以采用贪心算法。将节目按结束时间从小到大排序,然后判断能看几个节目。判断的方法是:这次要看的节目开始时间是否在上一个节目的结束时间之后,如果在之后,则可以看完,如果不在之后,就 pass 掉这次要看的节目,跳到下一个节目继续判断。例如排好序后:
第一个节目肯定可以看完;第二个节目开始时间在第一个节目结束时间之后,所以可以看完;第三四五个节目开始时间都在第二个节目结束时间之前,不能看完, pass 掉;第六个节目开始时间在第二个节目结束时间之后,可以看完;第七八个节目开始时间都在第六个节目结束时...
分类:
其他好文 时间:
2014-04-27 18:49:30
阅读次数:
576
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
Description
Find a pair in an integer array that swapping them would maximally decrease the inversion count of the array. If such a pair exists, retur...
分类:
其他好文 时间:
2014-04-27 17:48:35
阅读次数:
508