码迷,mamicode.com
首页 >  
搜索关键字:时间复杂度    ( 8884个结果
笔试算法题(22):二分法求旋转数组最小值 & 骰子值概率
出题:将一个数组最开始的k个(K小于数组大小N)元素照搬到数组末尾,我们称之为数组的旋转;现在有一个已经排序的数组的一个旋转,要求输出旋转数组中的最小元素,且时间复杂度小于O(N);分析:时间复杂度小于O(N)也就是不能用常规的遍历思路;可以将数组看成两个都是递增序列(假设为升序)的子数组,并且前半...
分类:其他好文   时间:2014-05-27 00:40:17    阅读次数:283
笔试算法题(21):将stack内外颠倒 & 判断扑克牌顺子
出题:要求用递归将一个栈结构的元素内外颠倒;分析:本题再次说明系统栈是程序员最好的帮手,但递归度较高所以时间复杂度较大,可以使用空间换时间的方法(额外数组保存栈元素,然后逆向压入);第一层递归(清空栈元素,并使用系统栈保存):[1,2,3,4,5],栈顶元素为1,将1弹出之后,递归处理[2,3,4,...
分类:其他好文   时间:2014-05-27 00:33:08    阅读次数:445
笔试算法题(24):找出出现次数超过一半的元素 & 二叉树最近公共父节点
出题:数组中有一个数字出现的次数超过了数组长度的一半,请找出这个数字;分析:解法1:首先对数组进行排序,时间复杂度为O(NlogN),由于有一个数字出现次数超过了数组的一半,所以如果二分数组的话,划分元素肯定就是这个数字;解法2:首先创建1/2数组大小的Hash Table(哈希表可以替代排序时间,...
分类:其他好文   时间:2014-05-26 23:23:48    阅读次数:453
STL
有序容器:vector[连续内存] 拥有一段连续的地址空间,首地址不变,按顺序存放,拥有高效的随机存储和访问,毕竟有迭代器作为序号。 从尾部插入和删除很快,其他地方插入和删除操作的时间复杂度就高喽,需要大范围内存的复制粘贴,效率低下,就像数组一样.有空间预留的特点,操作起来消耗内存空间。capa.....
分类:其他好文   时间:2014-05-26 07:10:59    阅读次数:244
排序(二)键索引、桶排序、位示图、败者树等
排序(二) 以上排序算法都有一个性质:在排序的最终结果中,各元素的次序依赖于它们之间的比较。我们把这类排序算法称为比较排序。 任何比较排序的时间复杂度的下界是nlgn。   以下排序算法是用运算而不是比较来确定排序顺序的。因此下界nlgn对它们是不适用的。   键索引计数法(计数排序) 计数排序假设n个输入元素中的每一个都是在0到k区间的一个整数,其中k为某个整数...
分类:其他好文   时间:2014-05-24 20:26:16    阅读次数:273
NOI2012 美食节 解题报告
首先看看BZOJ 1040《修车》,如果没有做,请做完后再来看这道题。 我们惊喜地发现,这道题的题意跟 修车 基本一样。很可惜,数据范围。。。 我试了一下直接修改 修车 的代码,建成2+n+p*m个点,n*m*p条边的有向图,对其求费用流,时间复杂度O((2+n+p*m)^2*(n*m*p)...
分类:其他好文   时间:2014-05-24 12:40:47    阅读次数:399
排序算法(1) 快速排序 C++实现
快速排序是笔试面试经常问到的一个排序。因此首先来复习快速排序。时间复杂度:O(n*lgn) 最坏:O(n^2) 空间复杂度:O(lgn),最坏O(n) 不稳定。
分类:编程语言   时间:2014-05-24 11:21:29    阅读次数:326
快速排序
快速排序如同其名,是排序中性能比较好的一个排序算法,当数组是顺序的话,他的最差的时间复杂度是O(N^2),一般的时间复杂度是O(n*lgn). 快速排序的思想就是分治,每一趟排序过程都把一个数放到最终的位置上面去。然后这个位置把数组分为前半部分和后半部分。针对前半部分和后半部分再递推进行快速排序。 快排的java实现: public class Sort { public stat...
分类:其他好文   时间:2014-05-23 01:44:26    阅读次数:218
微软100题系列之-----设计包含min函数的栈
题意: 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。 要求函数min、push 以及pop 的时间复杂度都是O(1)。 思路:定义两个栈,一个用来记录数据的插入和删除,一个用来存储最小值的变化 代码如下: template class Stack { public: Stack(int len=100); T Min(); ...
分类:其他好文   时间:2014-05-22 23:46:32    阅读次数:359
leetcode 3Sum 3Sum Closest 4Sum
这几个题很典型也是国外一些知名公司经常会问到的题 3Sum: 排序,避免重复,时间复杂度O(n^2) class Solution { public: vector > threeSum(vector &num) { int len=num.size(); sort(num.begin(),num.begin()+len);...
分类:其他好文   时间:2014-05-22 17:25:02    阅读次数:259
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!