
算法
文章平均质量分 82
ferrari
这个作者很懒,什么都没留下…
展开
-
单例【转载】
面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个:public final class EagerSingleton { private static EagerSingleton singObj = new EagerSingleton();转载 2013-02-18 14:22:33 · 462 阅读 · 0 评论 -
复杂链表的复制【转载】
转自:http://zhedahht.blog.163.com/blog/static/254111742010819104710337/ 题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。其结点的C++定义如下: struct ComplexNode{转载 2013-02-18 18:14:30 · 662 阅读 · 0 评论 -
数值的整数次方【转载】
数值的整数次方题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大树问题。这道题目有以下几点需要注意:0的0次方是无意义的,非法输入0的负数次方相当于0作为除数,也是无意义的,非法输入base如果非0,如果指数exponent小于0,可以先求base的|转载 2013-02-18 11:13:32 · 475 阅读 · 0 评论 -
最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离【转载】
最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离最大子序列最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,只要前i项的和还没有小于0那么子序列就一直向后转载 2013-02-18 15:37:25 · 608 阅读 · 0 评论 -
最长公共子序列【转载】
动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。【问题】 求两字符序列的最长公共字转载 2013-02-18 15:04:07 · 400 阅读 · 0 评论 -
寻找丑数
寻找丑数(Ugly Number)【转载】我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数下面是一道在网络上广为流传的面试题,据说google曾经采用过这道题。所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n %转载 2013-02-17 11:45:22 · 616 阅读 · 0 评论 -
最长递减子序列[转载]
求最长递减子序列(转载)Q:例如:有一个序列,例如 9 8 2 1 7 5 3 4 3 2 1. 求出最长的递减子序列。如本例的结果就是:9 8 7 5 4 3 2 1。分析: 可采用动态规划的思想进行解答,时间复杂度为O(n^2). 设原数组为a[1....n]。另设一数组d[1....n],其中d[i]表示从第i个元素开始(一定转载 2013-02-16 17:21:39 · 1103 阅读 · 0 评论 -
Catalan数
转自【 http://blog.youkuaiyun.com/wuzhekai1985】 Catalan Number满足下列递推公式:令h(0)=1,h(1)=1,catalan数满足递推式:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2)例如:h(2)=h(0)*h(1)+h(1)*h(0)=1*1+1*1=2转载 2013-02-16 16:06:14 · 667 阅读 · 0 评论 -
斐波那契数列算法分析[转载]
斐波那契数列算法分析(转自:http://www.cnblogs.com/CCBB/archive/2009/04/25/1443441.html)背景:假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去。每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子?转载 2013-01-31 17:47:35 · 671 阅读 · 2 评论 -
Bloom Filter概念和原理 [转载]
Bloom Filter概念和原理转自 焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom F转载 2012-03-30 13:41:13 · 426 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题[转载]
教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总转载 2012-03-23 20:17:46 · 685 阅读 · 0 评论 -
判断链表相交【转载】
判断两个链表是否相交 2012-01-09 10:37:03| 分类: 默认分类|字号 订阅给出两个单向链表的头指针,判断这两个链表是否相交,如果相交给出相交的第一个结点一、两个链表均不含有环链表相交如下图 方法一:直接法 直接判断第一个链表的每个结点是否在第二个链表中,时间复杂度为O(len1*le转载 2013-02-18 19:23:47 · 590 阅读 · 0 评论