Chinaunix首页 | 论坛 | 博客
  • 博客访问: 373040
  • 博文数量: 55
  • 博客积分: 1033
  • 博客等级: 少尉
  • 技术积分: 603
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-21 13:36
文章存档

2013年(4)

2012年(51)

分类: C/C++

2012-12-06 15:32:42


这次主要是自己的一点学习上的总结,大牛们就飘过,本人太水了。。


对于这个问题,我想大家估计觉得我这个问题太简单了,对于这个问题,你估计会有很多的想法,但是想想你的算法是不是实现他的最优算法。
(1)先排序在取,这个方法看似简单,但是实现起来时间复杂度比较高。显然不适合我们。。
  对于这种方法,我也就不提了。。。
(2)看来想要提高效率就要多想办法:
先令 min1 = a[0], min2 = a[1],比较出他们的大小,让min1 中始终必min2 小:
然后循环从2......n,开始,这样如果再遇到a[i]< min1.就让min2 = min1 ,,min1 = a[i];
如果遇到a[i]>min1 && a[i]
还有最后一种情况就是比他们都大的时候,就不做任何处理。。

这样的方法还可以寻找他们中最大的和次大的。。
如果你还有什么好的想法,也可以给我提下建议,不段的优化。。。

---------
没有奋斗的人生不完美。。。
阅读(2245) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

我在乎的你2012-12-07 17:55:01

hurley_cu: 额..我就是这么写的...顺便贴下代码么.....
额。。。。小小的开心呀。。竟然和大牛的想法一样。。。。

hurley_cu2012-12-06 22:46:45

额..我就是这么写的...顺便贴下代码么