题目:
一个整形数组里除了一个数字出现3次以外,其他数字都出现2次.请写程序找出这个出现3次的数字.
要求使用辅助空间O1,时间复杂度Onlogn.
1.使用堆排序.(堆排序的时间复杂度为Onlogn)
因为堆排序每次取到的都是最大(或是最小)的数字,三个相同的数字肯定是紧挨着被取出的.
所以在原先的堆排序算法上,加2个标记记录即可.
代码:
// 使用堆排序,每次取...
分类:
编程语言 时间:
2015-08-31 13:35:12
阅读次数:
200
1 package oo.day04; 2 //向上造型演示 3 public class UpDemo { 4 public static void main(String[] args) { 5 /* 6 Eoo o1 = new Eoo(); 7 ...
分类:
其他好文 时间:
2015-08-12 23:34:10
阅读次数:
450
1 package oo.day04; 2 //重写的演示 3 public class OverrideDemo { 4 public static void main(String[] args) { 5 /* 6 Goo o1 = new Goo();...
分类:
其他好文 时间:
2015-08-12 23:29:59
阅读次数:
112
定义
最正宗的定义:
If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a...
分类:
其他好文 时间:
2015-08-10 10:40:17
阅读次数:
251
当应用程序通过new语句创建一个对象时,JVM会为这个对象分配一块内存空间,只要这个对象被引用变量引用,他就一直存在在内存当中。当这个对象不被任何对象引用的时候,他的生命周期就意味着结束,JVM会在适当的时候回收这个对象。下面通过代码来演示下生命周期:Customer c = new Customer("Tom",new HashSet());
Order o1 = new Order("Tom_o...
分类:
编程语言 时间:
2015-08-05 20:28:33
阅读次数:
164
-o3 -o1 -o2
这三个参数依据数字的增加性能提高越大,但是需要注意,用该参数进行提升性能,编译后的代码虽然性能提高,但是代码执行顺序也许和最初代码设计的顺序不一样。
-funroll-loops
gcc来检查代码,进行循环展开,减少循环次数提高性能...
分类:
其他好文 时间:
2015-07-31 16:27:01
阅读次数:
123
题意:有两种字符x和o,计算相同的连续字符的个数的平方,然后用o的平方和减去x的平方和,求最大的结果,并输出相应的序列。
分析:
数论知识是:要使o1^2+o2^2+.....尽可能的大,就要让o尽量凑到一起使它尽量长;要使x1^2+x2^2+.....尽可能的小,就要尽量分散他们,因此每次分的时候采用均分的方式
用上面的理论为基础,然后枚举把o和x分的块数,不断更新结果。每一块的长度用上面...
分类:
其他好文 时间:
2015-07-24 07:00:31
阅读次数:
143
里氏替换原则:LSP
定义:
如果对于每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都换为o2时,程序的行为没有发生变化,那么S是T的子类型。
在继承的时候,父类出现的地方子类就可以出现,子类可替代父类,因为子类中有父类的方法,然而父类却不可以替代子类,因为子类中可能有父类没有的方法。这就是所谓的向下转型是不安全的。
使用继承有很多优...
分类:
其他好文 时间:
2015-07-21 22:21:00
阅读次数:
120
一 : 简单工厂模式Python:class Operation : def GetResult(self): passclass OpertationAdd(Operation): def GetResult(self,o1,o2): return o1+02class OperationDi.....
分类:
其他好文 时间:
2015-07-06 11:41:54
阅读次数:
96
需要用自己写的comparatorComparator comparator = new Comparator() { public int compare(AQIRankCity o1, AQIRankCity o2) { ret...
分类:
编程语言 时间:
2015-06-19 16:45:42
阅读次数:
157