我做这道题,是先用二分查找找到该数字,而后再遍历其前后相同的数字,统计次数。这种做法的平均时间复杂度为O(logn),最坏情况下为O(n),剑指offer上给的思路是两次用二分查找分别找到该数字第一次和最后一次出现的位置,这样的时间复杂度平均和最坏都是O(logn),稍好些》
下面贴上我按照自己思路写的代码:...
分类:
其他好文 时间:
2014-06-07 01:19:45
阅读次数:
197
这道题之前在Cracking the Coding interview上做过类似的,一样的三次反转,即可得到,时间复杂度为O(n),空间复杂度为O(1)。这道题在九度OJ上测试,主要要考虑移动的位数大于字符串长度时的情况,取余即可。...
分类:
其他好文 时间:
2014-06-05 09:34:36
阅读次数:
236
第二章:时间复杂度和空间复杂度
1、为什么要学习时间复杂度和空间复杂度?你说一个算法好另外一个算法不好,有什么判断依据?哪个算法效率高?怎么判断?那么就要学习时间和空间复杂度了。
思考:学习每一个知识之前都应该要考虑一下为什么要学习,学了有什么用处,什么场景下去用。
2、算法的效率高一般是指算法的执行时间,度量一个算法的执行时间有2种方式:
事后统计法:需要编写测...
分类:
其他好文 时间:
2014-06-05 04:26:56
阅读次数:
157
穷举:生成所有候选解,然后找出需要的解。
回溯:把解表示成向量,每个分量取自一个有限集合。从部分解开始,每次添加解的一个分量,然后判断如果有可能扩展成完整解则递归下去,否则换成下一个。可以看做是隐式图上的深度优先搜索。
回溯/穷举的复杂度,最坏时和后者一样,通常情形因为不必遍历所有子节点,还是比较快的。
回溯框架:
backtrack(a[], k)
if a[0,...,k] i...
分类:
编程语言 时间:
2014-06-05 02:39:10
阅读次数:
246
1. 红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。
红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。当然,还有一些更好的,但实现起来更复杂的数据结构,能够做到一步旋转之内达到平衡,但红黑树能够给我们一个比较“便宜”的解决方案。红黑树的算法时间复杂度和AVL相同,但统...
分类:
其他好文 时间:
2014-06-05 01:44:35
阅读次数:
232
一: MVC简介:
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式的目的:实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本...
分类:
Web程序 时间:
2014-06-05 00:54:40
阅读次数:
359
最近要毕业了,有半年没做比赛了.
这次参加百度之星的初赛娱乐一下.
现在写一下解题报告.
还是先看看四道题的类型吧
1.Scenic Popularity 暴力 复杂度O( 100 * 100 * 10000 ) 或者O( T * K * R) 线段树
2.Chess DP 复杂度 O(n^2)
3.Best Financing DP 复杂度O(n)
4.JZP Set 数论或DP 复杂度 O(n * log(n))...
分类:
其他好文 时间:
2014-06-04 23:35:07
阅读次数:
219
题目:输入一个整数s,打印出全部和为s的连续整数序列(至少含有2个数)。比如输入9,则输出2、3、4和4、5两个序列方案一:因为序列至少要2个数,则两个数上限值为(1+s)/2,我们能够枚举该序列的起点和终点求全部满足的序列。时间复杂度为O(n^2),效率比較低方案二:我们设置两个指针start和e...
分类:
其他好文 时间:
2014-05-31 04:07:27
阅读次数:
282
直接上代码Java123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475...
分类:
移动开发 时间:
2014-05-30 14:17:34
阅读次数:
368
广度优先搜索&深度优先搜索(Breadth First Search &
Depth First
Search)BFS优缺点:同一层的所有节点都会加入队列,所以耗用大量空间;仅能非递归实现;相比DFS较快,空间换时间;适合广度大的图;空间复杂度:邻接矩阵O(N^2);邻接表O(N+E);时间复杂度:...
分类:
其他好文 时间:
2014-05-29 15:33:14
阅读次数:
407