你能搞定这两道谷歌面试题么?

dotNET全栈开发

共 4742字,需浏览 10分钟

 · 2020-08-10

谷歌几乎是每一个学计算机的人都向往的公司。小编在这里为大家带来两道电话面试的题目~


谷歌的面试一般有5-7轮。

首先是一轮的电话面试,google docs在线写题。如果电话面试通过的话会被邀请参加现场面试。现场面试大概有五轮:一轮英文面试,俗称behavior interview;一轮午餐面试;还有三轮技术面试,每一轮45分钟,做两个题。


下面这两道题是小编校招的时候被问到的两道题,需要在45分钟内在白版上解出来,并且能够做到bug free。





第一题




题目描述:

有一个音乐播放器,这个播放器有两种播放模式,一种random,每次随机播放一首歌;另一种是shuffle模式,每次将所有歌做全排列之后按顺序播放,一轮播放完之后再重新打散继续播放。比如歌单里有3首歌:《稻香》、《一荤一素》和《像我这样的人》,random的播放顺序可能是《稻香》、《一荤一素》、《稻香》、《稻香》、《像我这样的人》、《稻香》;而shuffle的播放顺序为《稻香》、《像我这样的人》、《一荤一素》、《像我这样的人》、《稻香》、《一荤一素》。

现在给你一个你听到的歌的列表,问你现在这个音乐播放器是哪种模式?


输入:

第一行一个整数n,表示你听到的歌曲的数目。

第二行是n个整数,每个整数表示你听到的歌的名字。同样的数字表示同一首歌。

输出:

输出1,表示播放器当前处于shuffle状态;

输出2,表示播放器当前处于random状态;

输出3,表示不确定播放器处于shuffle还是random状态。


样例输入

5

1 1 2 3 2

样例输出

2


样例输入

10

1 3 2 2 3 1 3 1 2 2

样例输出

3





第二题




题目描述:

一个二维平面上有独立的n个城市,每个城市之间的距离为他们之间的直线距离。一个公司负责将这n个城市之间的交通打通,使得任意两个城市之间都能相互到达。公司可以选择在两个城市之间修路,修路的成本是路的长度;公司也可以选择修建飞机场,有飞机场的两个城市是可以互相到达的,修建一座飞机场的固定成本是A万。问你现在如果要把这n个城市的交通都打通,最小的成本是多少?


输入:

第一行两个整数n、A,表示有n个城市,以及修建一个机场的成本是A万元。

接下来有n行,每行两个整数x y,表示这个城市的坐标是(x,y)。


输出:

输出最小成本


样例输入

4 2

1 2

1 3

1 4

1 5

样例输出

3

# 在相邻的两个点之间修路即可,所需要的成本为1*3=3万元。




好了,看完这两个题,你有思路了么?是不是感觉谷歌的面试题也没那么难呢,欢迎大家在下方留言讨论~



号外1:

如果您有面试的经历和心得(主要是互联网相关)想要跟大家分享,欢迎后台联系小编~一经录用,会有报酬哦。


号外2:

后台私信小编,可拉您进“面鲸”专属用户群,小编和他的朋友们会不定期在群里分享更多干货,当然你也可以在群里认识其他很多更优秀的小伙伴~

回复 【关闭】广
回复 【实战】获取20套实战源码
回复 【福利】获取最新微信支付有奖励
回复 【被删】
回复 【访客】访
回复 【卡通】学制作微信卡通头像
回复 【python】学微获取全套0基础Python知识手册
回复 【2019】获取2019 .NET 开发者峰会资料PPT

玩转 Windows Terminal


async、await是如何简化了C#中多线程的开发过程


卧槽,又来一个神器,微信消息防撤回!


浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报