随笔分类 -  百度

十月百度,阿里巴巴,迅雷搜狗最新面试十一题(每日更新中)(转)
摘要:载自:http://blog.csdn.net/v_july_v/article/details/6855788十月百度,阿里巴巴,迅雷搜狗最新面试十一题引言当即早已进入10月份,十一过后,招聘,笔试,面试,求职渐趋火热。而在这一系列过程背后浮出的各大IT公司的笔试/面试题则蕴含着诸多思想与设计,细细把玩,思考一番亦能有不少收获。 上个月,本博客着重整理九月腾讯,创新工场,淘宝等公司最新面试十三题,此次重点整理百度,阿里巴巴,迅雷和搜索等公司最新的面试题。同上篇一样,答案望诸君共同讨论之,个人亦在慢慢思考解答。多谢。最新面试十一题十月百度:一个数组保存了N个结构,每个结构保存了一个坐标,结构间 阅读全文

posted @ 2011-10-11 10:24 奋斗者 阅读(762) 评论(0) 推荐(0)

上楼梯问题(转)
摘要:某人上楼梯,一步可以上1,2,3个台阶,楼梯共10个台阶,从地面到最上层共有多少种不同走法?这个题用排列组合不好作,无法确定步骤,我提供一种方法,供大家参考借鉴:不妨设有n阶台阶,既然一次只能走一步或2步或3步,那么假设现在仅剩下最后一步要走,有三种情况:一 只需要走一步,这时已经走了(n-1)阶,走法与走n-1阶相同,有f(n-1)阶走法;二 只需要走两步,同上分析有f(n-2);三 只需要走三步,有f(n-3);所以走n阶台阶有f(n)=f(n-1)+f(n-2)+f(n-3)种走法;很明显,走1阶台阶有1种方法;走2阶有两种走法;走3阶有4种走法,如下:1 1 1 1 2 2 1 3;所 阅读全文

posted @ 2011-05-26 16:45 奋斗者 阅读(542) 评论(0) 推荐(0)

一起养动物(转)
摘要:百度运维部推理:24个人,每人至少养一种宠物,养鸟、狗、鱼、猫的分别为13、5、10、9人,同时养鸟和狗的2人,同时养鸟和鱼、鸟和猫、鱼和猫的各为4 人,养狗的既不养猫也不养鱼。问只养一种宠物的总共几人?同时养鸟鱼猫的几人?思路一:鸟 狗 鱼 猫13 5 10 9|--2--||-----4----|--4--||--------4-------|只养鸟: x只养狗: y只养鱼: z只养猫: m鸟鱼猫一起养的:f养鸟的:x + 2 + 4 + 4 -f = 13; => x = 3 + f养狗的:y + 2 = 5; => y = 3养鱼的:z + 4 + 4 - f = 10; 阅读全文

posted @ 2011-05-26 16:21 奋斗者 阅读(454) 评论(0) 推荐(0)

从10亿个浮点数中找出最大的1万个–很不错的一个问题(转)
摘要:主要参考:http://www.cnblogs.com/yaozhongxiao/archive/2009/09/23/1572955.htmlhttp://hi.baidu.com/sadawn/blog/item/4fdaee2433b7ed154d088d49.html解此问题的思想:首先,发掘一个事实:如果这个大数组本身已经按从大到小有序,那么数组的前1万个元素就是结果;然后,可以假设这个大数组已经从大到小有序,并将前1万个元素放到结果数组;再次,事实上这结果数组里放的未必是最大的一万个,因此需要将前1万个数字的后续元素跟数组的最小元素比较,如果所有后续的元素都比结果数组的最小元素还小 阅读全文

posted @ 2011-05-26 15:36 奋斗者 阅读(979) 评论(0) 推荐(1)

二叉树中两个节点的最近祖先节点(转)
摘要:一.如果数据结构为三叉链表,即含有指向父节点的指针:思想一:双重循环法Node * NearestCommonAncestor(Node * root,Node * p,Node * q) { Node * temp; while(p!=NULL) { p=p->parent; temp=q; while(temp!=NULL) { if(p==temp->parent) return p; temp=temp->parent; } } } 上面的算法实际上是将一个结点回退到父结点,每退一步,另一个结点指针将回退到不能退为止。此过程来判断它们两结点是否有共同的父母。思想二:活 阅读全文

posted @ 2011-05-26 15:31 奋斗者 阅读(4065) 评论(0) 推荐(2)

【算法面试题】寻找二叉搜索树中两个节点的最近公共祖先节点(转)
摘要:【算法面试题】寻找二叉搜索树中两个节点的最近公共祖先节点http://geeksforgeeks.org/?p=1029给定了一个二叉搜索树中任意的两个节点的值,要你写一个c/c++程序,去找到这两个节点的最近公共祖先,你可以假定给定的值存在于二叉树的某个节点中。函数声明:int FindLowestCommonAncestor(node* root, int value1, int value)输入: 4和 14输出: 8(4和14的共同祖先有{8, 20},其中8是最近的公共祖先节点)算法:基本思想是:给定二叉树中的两个节点n1, n2(假定n1<n2), 其最近的公共祖先节点的值n 阅读全文

posted @ 2011-05-26 14:08 奋斗者 阅读(6049) 评论(1) 推荐(0)

【算法面试题】求两个相交链表的首个相交节点(转)
摘要:有两个单向链表A和B如下图所示,他们相交于某个节点(在这个例子里为15),写一个程序把第一个交点找出来:方法1:利用两次循环foreach nodeA in listA foreach nodeB in listB if nodeB == nodeA then A and B intersect at the current node, i.e., nodeA (or equivalently nodeB)假设链表A的长度是m,链表B的长度是n,这个算法的复杂度是O(mn),不太理想。方法2:标记已经访问的节点首先对每个节点添加一个标志位bVisited,表示这个节点有没有被访问过,初始为fa 阅读全文

posted @ 2011-05-26 14:05 奋斗者 阅读(2089) 评论(0) 推荐(1)

导航