【面试试题】11谷歌面试题精讲_第1页
【面试试题】11谷歌面试题精讲_第2页
【面试试题】11谷歌面试题精讲_第3页
【面试试题】11谷歌面试题精讲_第4页
【面试试题】11谷歌面试题精讲_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关于谷歌面题精说、七月算法曹鹏2015年6月12日、2/24、提纲,面试的例题例1除以3和5的数的和例2合法单词例3和用0交换的序列序列序列例4将最后的序列序列例5 BFS及其展开例6单词对汇总, 关于面试各公司是否有以自己为基础的问题库中的原职员的网络笔试和面试笔试:不交流面试会给面试官留下好印象,3/24,例1是3除以5的数之和,例1是1个数n,不超过n的所有数除以3或5的数例如: n=9,回答3 6 5 9=23。 分析:数学题除以3的数,3、6、9、n/3 * 3除以5的数,5、10、15、n/5 * 5重复的数同时为3和5的倍数15、30、n/15。 n的范围是4/24,接着例1,等

2、差数列的修正公式x为第一项,y为项数,d为公差(x x d * (y 1) * y/2,注意y=0也适用密钥为项数! 有多少个有效字符串可以求出加法x=3、d=3、y=n/3加法x=5、d=5、y=n/5减法x=15、d=15、y=n/15、5/长度n? 例如,ABBBCA是违法的,而ACCBCCA是合法的。 分析:动态修订画的想法真的要列举吗? dpi0 :的长度为I,最后两位不同的合法列的个数dpi1:的长度为I,最后两位相同的合法列的个数为: dpi0=(dpi-10 *2dpi-11 *2) dpi1=dpi-10,dp11=0结果dpn0 dpn1空间最佳仅关于- 1,可以省略高维时

3、间复杂度O(n ),7/24,和例3的0交换排序,并且例3的整数群组包含0-(n ) (pat 1067 )分析:将数学轮廓进行组合。 例如,0占据第一位置,1占据第二位置,2占据第零位置。 一个数组总是可以分成几个不相交的循环上的例子。 交换0和1,交换0和2,就能决定顺序。 8/24,例3接着是长度为m的循环。 如果包含0,则交换(m -1 )次可以将所有计数数值加到原来的长度m。3在1的位置先交换0和任意的数值。 例如,如果交换0和1,则1是0的位置,0是2的位置,2是3的位置,3是1的位置。9/24、例3接续2代码、10/24、例4结束的排序,例4给予1-n的排序,一次只能放在一个数量

4、的序列的结束,至少能排几次顺序? (O(n )在时间内解决的问题(下) 为什么要移动1? 其他的数量都在排队。 1自然排列。 如果某个步骤将x移动到末尾,就必须将(x 1)、(x 2). n移动到末尾。 否则,x就无法尽可能大地排序。 必须从1-(x-1 )开始依次出现从开头开始的扫描,检查x最大有多少。11/24、例4继续,代码非常简单,12/24、例5 BFS及其普及,例5某矩阵x表示起点,y表示终点,#表示墙,从各位置只能上下左右4个方向走,只要能够从矩阵中脱出(1)、(2)最多3个墙,则少13/24,例5接着分析(1)是简单的,直接BFS (2)列举拆除墙吗? c (n 2,3 ) o

5、 (n6) bfso (n2)是否会成为新的构图? 4楼的有向图(0、1、2、3 )请注意,各楼层(相同)各点(包括墙)在墙以外的旁边有边。 墙上有边,没有边,14/24,例5是2,从第I层连接到第I层从第I层相当于“穿墙”到第(i 1)层,第(i 1)层这个位置还是墙,但这个位置可以到别的位置。在该“立体”图中,给出BFS节点数O(n2)、边数O(n2)、时间复杂度O(n2)、15/24、例6单词对、例6词典,找到不包含相同字符的两个单词的分析:对于开放问题没有标准回答,需要研究如何与面试官交流、打开想法、16/24、例6接下来的详细信息:如何确定包含相同的字符? 每个单词的字符是否适用于位

6、图? 每个单词“签名”表示出现哪个字母226的两个单词签名。 如果x、y和x、y (以位为单位)不为0,那么含有相同字母的n有多大可以接受方法2预处理词典? 只要有足够的空间! 怎么表达每个单词? 还是签名x=0.226-1,17/24,例6继续2,如何表示字符集合? 给定状态s表示在0.226-1中出现了什么样的字符、希望找到满足条件的最长单词、dps可能出现也可以不出现。 即,用s中的第1位表示的字母可以出现在该单词上也可以不出现,而用s中的第0位必定出现在单词中的最长单词长度,换句话说,出现在单词上的字母是用状态s中的第1位表示的字母集合的子集如何进行修正初始值全部对每0个单词的签名x,

7、修正dpx=max(dpx,length(word ) )更新? 其中for s=1 to 226 1是比s少一个二进制1 (比特)的状态s dps=max(dps,dps ), 对于在19/24和6的后续步骤4,对dps更新的理解s s s已经被校正,例如,我们已经计算了要校正其状态的11000个子集中的最佳解,上述状态的子集的最佳解(已校正),或者使用该集合本身(预处理) 最终回答是在各单词上签名x我们可以选择的字母集合,如果求max(length(x) * dp(x) (1 26) 1) ),那么时间复杂度:每个单词签名O(length * n )进行修正,因为(x )的子集不优先相同的比特难点理解比特运算理解dp当前集合的子集包括比当前集合少一个元素的所有子集当前集合可以用实际的单词来替换dp的整数,从而得出解、22/24、总结。 一定要和面试官交流。 以面试为笔试不给面试官

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论