`

谷歌面试趣事(转)

阅读更多

问题是这样的:

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

 

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

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

    大学宿舍趣事.doc

    《大学宿舍趣事.doc》以轻松幽默的笔触,描述了大学宿舍中的点点滴滴,透过这些看似平凡的校园故事,我们可以洞见人际关系的真谛、幸福感的源泉、当下时光的宝贵以及成长的深远意义。 人际关系是社会生存的基础,也...

    Google2014校园招聘大礼包

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

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

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

    树莓派的一些有趣事

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

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

    "童年趣事、一件趣事、一件事或一件有趣的事"这些标题往往能让我们快速陷入对美好时光的回忆,而一个合适的开头和结尾则能为这些故事增色添彩。 说起童年的趣事,那真是数也数不清,但总有一些特别的经历,像刻在...

    Google2013求职大礼包

    - 面试过程中遇到的趣事。 - 不同职位的具体面试流程和问题示例。 - 谷歌特有的面试题型和解答思路。 - Google员工撰写的关于面试经验的书籍介绍。 #### 第四章 Google求职综合经验 本章节总结了求职者在申请Google...

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

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

    童年趣事写作指导.pdf

    在童年趣事写作指导的课堂上,我们不仅是在教授学生写作的技巧,更是在引导他们回顾和珍视那段无忧无虑的美好时光。写作指导的核心在于激发学生的创造力与想象力,使他们能够以自己的视角,把那些曾令他们欢笑、感动...

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

    高效课堂教学的构建在初中阶段显得尤为重要。在时间有限的课堂上,教师必须精心策划和组织教学活动,确保每一分钟都被有效利用,以此来激发学生的学习热情。要实现这一目标,教师需在引导与点拨之间找到合适的平衡点...

    从童年趣事到一个高等数学概念

    张小向的论文《从童年趣事到一个高等数学概念》为我们提供了一个非常有价值的视角。在这篇论文中,作者张小向巧妙地结合了自身的童年经历与数学概念,将曲率这一在高等数学中极为重要的概念通过生动有趣的方式传授给...

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

    在孩子们眼中,校园不仅是学习知识的场所,更是他们探索世界、结交朋友和成长的乐园。...通过这些趣事,我们不仅能看到孩子们的天真和对生活的热爱,还能看到他们逐渐成长为一个更独立、更有能力的人。

Global site tag (gtag.js) - Google Analytics