网站大量收购闲置独家精品文档,联系QQ:2885784924

2025年谷歌(Google)算法面试题 .pdfVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

乐民之乐者,民亦乐其乐;忧民之忧者,民亦忧其忧。——《孟子》

谷歌(Google)算法面试题

1.谷歌面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。

回答:此题的关键是让生成的1到7的数出现概率相同。

只要我们可以从n个数中随机选出1到n个数,反复进行这种运算,直到剩下最后一个数

即可。

我们可以调用n次给定函数,生成n个1到5之间的随机数,选取最大数所在位置即

可满足以上要求。

例如

初始的7个数[1,2,3,4,5,6,7].

7个1到5的随机数[5,3,1,4,2,5,5]

那么我们保留下[1,6,7],

3个1到5的随机数[2,4,1]

那么我们保留下[6]

6就是我们这次生成的随机数。

2.谷歌面试题:判断一个自然数是否是某个数的平方。当然不能使用开方运算。

回答:假设待判断的数字是N。

方法1:

遍历从1到N的数字,求取平方并和N进行比较。

如果平方小于N,则继续遍历;如果等于N,则成功退出;如果大于N,则失败退出。

复杂度为O(n^0.5)。

方法2:

使用二分查找法,对1到N之间的数字进行判断。

复杂度为O(logn)。

方法3:

由于

(n+1)^2

=n^2+2n+1,

=...

=1+(2*1+1)+(2*2+1)+...+(2*n+1)

注意到这些项构成了等差数列(每项之间相差2)。

所以我们可以比较N-1,N-1-3,N-1-3-5...和0的关系。

如果大于0,则继续减;如果等于0,则成功退出;如果小于0,则失败退出。

复杂度为O(n^0.5)。不过方法3中利用加减法替换掉了方法1中的乘法,所以速度会更

快些。

3.谷歌面试题:给定一个数据流,其中包含无穷尽的有哪些信誉好的足球投注网站关键字(比如,人们在谷歌有哪些信誉好的足球投注网站

穷则独善其身,达则兼善天下。——《孟子》

时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?

回答:

定义长度为1000的数组。

对于数据流中的前1000个关键字,显然都要放到数组中。

对于数据流中的的第n(n1000)个关键字,我们知道这个关键字被随机选中的概率为

1000/n。所以我们以1000/n的概率用这个关键字去替换数组中的随机一个。这样就可以保

证所有关键字都以1000/n的概率被选中。

对于后面的关键字都进行这样的处理,这样我们就可以保证数组中总是保存着1000个

随机关键字。

4.谷歌面试题:将下列表达式按照复杂度排序

2^n

n^Googol(其中Googol=10^100)

n!

n^n

回答:

按照复杂度从低到高为

n^Googol

2^n

n!

n^n

5.谷歌面试题:在半径为1的圆中随机选取一点。

回答:假设圆心所在位置为坐标元点(0,0)。

方法1.

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档