- 博客(6)
- 资源 (3)
- 收藏
- 关注
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(六)
7. 给你一个字符串,找出包含给定字符集的最小窗口 找到最小的窗口,首先这个窗口只有长度,没有宽度。因此我们可以假设两个滑块a, b;起初先让a,b都在文本的开头,为了记录区域内文本出现的字符的个数,我们声明一个数组arr。先让b从文本头往后滑动,如果字符在选定字符内部,则在arr相应的位置+1,直到第一次找到一块区域包含了所有的字符,即arr中每个元素都大于0。此时,滑动a,直到第一
2012-02-22 22:25:18 977
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(五)
6.从一大块文本中去掉重复的行 关于这道题的想法有四个: 第一,读入一个字符串与前面的每一个字符串比较,如果存在,删除,不存在,打印。时间复杂度O(n*n*K),K为比较字符串的时间。代码如下: //the program used to trick the text which have duplicate line #include #include #include #
2012-02-22 16:17:58 1130
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(四)
4.如果你有n个节点的列表,对于一个有向无环图来说,最多可以有几条边? 我觉得答案是n*(n-1)/2,过段时间好好看看离散数学的图论,好好学习一下。 5.在Java里面,finally、final和finalize的区别是什么? finally 是try ... catch .... finally....不管有没有发生异常,都会执行的语句,一般用于资源的关
2012-02-22 11:02:52 577
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(三)
3.给出一组区间(以秒计),让你找出重叠的部分 挑战: Google一般也会要你解决一堆数学问题。 这些设计的意图是让工程师对问题进行有效的思考,而不是仅仅知道如何对每个问题进行编码。 此处的问题会要你实现一个聪明的数学技巧。 题目讲的不是很好理解,看来写这博客的不是google的工程师吧。给出一组区间,不知道找的是所有区间的重叠部分,还是任意区间的重叠部分,其次输入的数据按秒
2012-02-08 12:09:51 1082 2
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(二)
第二题,合并两个有序链表。 2.合并两个排序链表 挑战: 这类问题是Google面试问题的一个共同趋势:找出解决问题的有效办法。 合并两条链表是一般会在链表之间发生“冲突”(因为它们各自有特定的次序,而你的合并会把次序搞乱) 你必须找出一种算法快速消除那些冲突。 不是很理解它里面所谓的”冲突“,是否包含着其他玄机,^_^,先用简单的写法写一个吧,不然,合并两个升序的链
2012-02-07 22:34:40 716
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(一)
前段时间google在校内发表了一篇日志,名为《想成为Google工程师?先回答这15个面试问题【这只是一必要条件】》地址:http://page.renren.com/601020521/note/803001195?&ref=minifeed&sfet=2003&fin=3&ff_id=1803322995&feed=user_blogshare&statID=page_601020521_1
2012-02-07 20:30:42 1093 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人