`

谷歌面试趣事(转)

阅读更多

问题是这样的:

假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?

 

String 1: ABCDEFGHLMNOPQRS

String 2: DCGSRQPO

 

(1) 对于这种操作一种幼稚的做法是轮询第二个字符串里的每个字母,看它是否同在第一个字符串里。从算法上讲,这需要O(n*m)次操作,其中n是string1的长度,m是string2的长度。就拿上面的例子来说,最坏的情况下将会有16*8 = 128次操作。

 

(2) 一个稍微好一点的方案是先对这两个字符串的字母进行排序,然后同时对两个字串依次轮询。两个字串的排序需要(常规情况)O(m log m)+ O(n log n)次操作,之后的线性扫描需要O(m+n)次操作。同样拿上面的字串做例子,将会需要16*4 + 8*3 = 88加上对两个字串线性扫描的16 + 8 = 24的操作。(随着字串长度的增长,你会发现这个算法的效果会越来越好)

 

(3) 对第一个字串进行轮询,把其中的每个字母都放入一个Hashtable里(成本是O(n)或16次操作)。然后轮询第二个字串,在Hashtable里查询每个字母,看能否找到。如果找不到,说明没有匹配成功。这将消耗掉8次操作——这样两项操作加起来一共只有24次。不错吧,比前面两种方案都要好。

 

(4) 如果这样呢——假设我们有一个一定个数的字母组成字串——我给每个字母分配一个素数,从2开始,往后类推。这样A将会是2,B 将会是3,C将会是5,等等。现在我遍历第一个字串,把每个字母代表的素数相乘。你最终会得到一个很大的整数,对吧?然后——轮询第二个字符串,用每个字母除它。如果除的结果有余数,这说明有不匹配的字母。如果整个过程中没有余数,你应该知道它是第一个字串恰好的子集了。这样不行吗?“

 

转载自:  http://sd.csdn.net/a/20110411/295616.html

分享到:
评论
1 楼 nihaokid 2011-05-04  
方法(3)用hash额外占用23字节即可,复杂度o(m+n),可行度高
方法(4)想法不错,可是复杂度依然是o(m+n),而且用的是乘法,并且乘出来的结果可能计算机无法表示。所以不好

相关推荐

    程序员面试.pdf

    二十六、一次谷歌面试趣事、二十七、Google的面试经历:分别分享了应聘者在谷歌面试中的有趣经历和面试经验。 二十八、IBM面试记:介绍了IBM公司的面试流程和问题类型。 二十九、Infosys面试经历:分享了在印度...

    奇闻趣事网站模板—趣事窝

    【奇闻趣事网站模板—趣事窝】是一款专为分享奇特新闻和有趣事件而设计的网站模板。这款模板以其独特的设计风格和丰富的功能性,旨在为用户提供一个集趣味性、可读性和互动性于一体的在线平台。 一、网站模板概述 ...

    菜鸟取经·程序员面试(第1期)

    1.26 一次谷歌面试趣事 1.27 Google 的面试经历 1.28 IBM 面试记 1.29 Infosys 面试经历 1.30 搜狐,百度和豆瓣的面试感受 1.31 百度面试归来,经验值又+1 了 1.32 淘宝面试记 1.33 淘宝面试失败总结 1.34 腾讯实习...

    软件工程面试必备书籍

    她在微软、苹果和谷歌担任软件工程师期间,共面试了一百二十多名求职者,并且拥有宾夕法尼亚大学的计算机科学学士和硕士学位。本书的最新版本为第四版,名为《Cracking the Coding Interview》,为想要获得顶级软件...

    家庭趣事.ppt

    家庭趣事.ppt

    我当公务员面试官遇到的趣事.doc

    面试是公务员选拔的重要环节,面试官的职责是公正客观地评估考生的能力和素质。面试中,考生的表现往往反映了他们的思维模式、应变能力、语言表达和人际交往技巧。以下是从描述中提炼出的一些关键知识点: 1. **...

    C语言学习趣事_经典面试题系列

    C语言学习趣事_经典面试题系列 本文档总结了C语言学习的趣事,并提供了一些经典的面试题系列,涵盖了C语言的基础知识、字符串操作、内存管理等方面。 知识点1:strcpy函数的使用 strcpy函数是C语言中用于拷贝字符...

    新版奇闻趣事资讯源码 dede内核 v2.zip

    兼容各大浏览器(IE6/IE7/IE8/火狐/遨游/谷歌/)! 完整模板 适合:奇闻趣事、八卦娱乐、文字类、QQ娱乐等 模板安装方法: 1.将原有模板备份. 2.将压缩包内所有文件覆盖到网站根目录. 3.生成首页及相关页面. 4....

    《童年趣事》作文指导.ppt

    《童年趣事》这篇作文指导主要引导学生回忆并记录自己童年时期的有趣经历,以此激发写作灵感,提升叙事能力。在指导中,通过歌词唤起对童年时光的共同记忆,强调了童年时期那些纯真、充满好奇心和想象力的瞬间。文章...

    大学生找工作面试技巧

    例如,提到父亲的手艺和价值观,或者父母工作的反差带来的趣事,这些都可以增加面试的趣味性,同时展示你的家庭背景和个性。 3. **语言能力的展示**:当面试官询问是否能说某种特定方言时,如实回答并展示你的努力...

    Google2014校园招聘大礼包

    面试经验方面,Google的面试体验包括面试官的问题风格、面试过程中的趣事,以及Google员工对于公司面试心得的分享。Google面试试题详解、面试题及答案和面试小全等内容对学生们准备面试有极大帮助。 工作经历与感悟...

    18 太空生活趣事多 同步练习(含答案).pdf

    航天员在无重力状态下,任何动作都可能引起不可预知的后果,例如咳嗽可能使人后退,这都是太空生活中的趣事。 最后,根据课文内容判断题目的正确与错误,比如航天员在宇宙飞船里不会像在地球上一样躺在床上睡觉,而...

    【小学生作文】校园趣事四年级作文【五篇】.doc

    【小学生作文】校园趣事四年级作文展示了孩子们在学校生活中经历的欢乐时光,这些趣事充满了童真和想象力,反映了校园生活的丰富多彩。文章中提到的趣事主要有以下几点: 1. **体育课上的恶作剧与反击**:在一篇...

    树莓派的一些有趣事

    多了解一些树莓派的事情,对理解应用树莓派有帮助。

    三角之美:边边角角的趣事

    三角之美 中文版《三角之美:边边角角的趣事》由古埃及应用测量的发端展开,将读者首先带到六个三角函数中。书中的篇章宛如一个个引人入胜的小故事,将历史、趣闻、应用和理论融入到了迷人的故事情节当中。全书共15...

    童年趣事、一件趣事、一件事或一件有趣的事等开头和结尾.doc

    这篇文档的标签为“文档”,但从内容来看,它实际上是一篇关于童年回忆的作文素材集,包含多个关于童年趣事的开头和结尾段落。这些段落旨在唤起读者对童年时光的美好回忆,并通过生动的故事描绘出童年的纯真与乐趣。...

    春节中的一件趣事小学作文.pdf

    春节中的一件趣事小学作文.pdf

    课堂趣事初中随笔精选.doc

    【知识点】 1. 高效课堂教学的重要性:在初中地理课中,提高课堂教学效率至关重要,尤其在课程节数有限,无法占用课外时间的情况下。教师应当确保课堂的每分钟都被充分利用,以激发学生的学习兴趣和动力。...

    大学宿舍趣事.doc

    文档中的内容虽然主要讲述的是大学宿舍中的友情故事和生活琐碎,但它其实触及到几个重要的知识点,可以从人际关系、幸福感、珍惜当下以及成长的角度进行解读。 首先,关于人际关系,文章描绘了宿舍成员之间的深厚...

Global site tag (gtag.js) - Google Analytics