上一页 1 ··· 8 9 10 11 12

2011年5月26日

上楼梯问题(转)

摘要: 某人上楼梯,一步可以上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 奋斗者 阅读(535) 评论(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 奋斗者 阅读(445) 评论(0) 推荐(0) 编辑

Google : 计算a[0]*a[1]*…*a[n-1]/a[i](转)

摘要: 有空不防看一下这个博客:http://jonnyhsy.wordpress.com/category/algorithms-data-structure///Given an array a[n], build another array b[n], b[i] = a[0]*a[1]*…*a[n-1]/a[i]//no division can be used, O(n) time complexity见网页:http://www.ihas1337code.com/2010/04/multiplication-of-numbers.htmlLet’s define array B where 阅读全文

posted @ 2011-05-26 15:48 奋斗者 阅读(457) 评论(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 奋斗者 阅读(970) 评论(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 奋斗者 阅读(4060) 评论(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 奋斗者 阅读(6023) 评论(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 奋斗者 阅读(2081) 评论(0) 推荐(1) 编辑

2011年5月6日

百度2010暑期实习笔试面试全面备战 (转)

摘要: 百度2010暑期实习笔试面试全面备战百度2010暑期实习网申将于2010年5月29日截止。笔试阶段5月30日前,对于通过了简历筛选的申请人百度将会通过系统发送笔试通知。注册时请务必填写正确有效的邮箱地址。面试阶段6月7日起,百度将陆续安排现场面试。大街网为大家准备了百度往年的实习和校园招聘笔试及面试经验,供大家参考。以下为百度2010校园招聘各岗位笔试真题,全部是大街网网友整理,不代表今年笔试内容,请大家参考。【百度2010校园招聘技术类笔经】第一题:简要说明树的深度优先、广度优先遍历算法挤特点第二题:一个复数相加的编码挑错题第三题:告诉内存大小和cpu速度,计算可能的程序运行最长时间第四题: 阅读全文

posted @ 2011-05-06 17:38 奋斗者 阅读(2278) 评论(0) 推荐(1) 编辑

百度笔试题电子商务事业部(转)

摘要: 笔试的题目是技术类。我投的是测试,在场的据说绝大部分是测试,身边也有web方向的。题目如下:1.树的深度优先、广度优先遍历算法,及非递归实现的特点。2.给出一段代码,找出有错误或安全隐患的地方,及错误原因。3. 假设有个迷你计算机,1KB内存,1MHz处理器(每秒可以改变10^6次状态)。所有能够在机器上运行且会运行到一定时候能够终止(没有死循环)的程序中,最长的运行时间。自己设置其他假设条件。4. 一个大型项目中有很多组件,组件之间的编译有依赖,比如必须先编译完N1才能编译N2。设计快速算法,完成N>1000个组件的项目的编译过程,并给出算法复杂度。5. 代码int maxContin 阅读全文

posted @ 2011-05-06 10:26 奋斗者 阅读(339) 评论(0) 推荐(0) 编辑

2011年5月5日

百度实习电面(一)(转)

摘要: 中午吃饭的时候上次的GG打电话过来要求面试,简单协调后定在下午2:00.以下流水账:1. 自我介绍一下(<1min搞定)2. 问了一下科研工作里面关于Cache的一些研究,具体怎么做,性能提升等3. 数据结构:反转单链表4. 如何判定链表存在环(如下图所示)我就说用visited标记一下结点,然后顺序访问,当遇到visited=true的结点就说明有环了。又问如果不让你在结点上做修改呢?我说可以在外部维护映射表啊(好像有点无语),这题就这么PASS了。后来查了一下可以用双迭代器实现,一个步长为1,另一个步长为2,如果过程中相遇则说明有环。下面是威武的算法5. 如何求得两个字符串的距离?距 阅读全文

posted @ 2011-05-05 16:42 奋斗者 阅读(337) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12

导航