传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 986|回复: 4
收起左侧

Google电面1/28

[复制链接] |试试Instant~ |关注本帖
hzyslddm 发表于 2016-1-29 06:54:06 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Google - Other - 技术电面 |Otherfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
刚结束的电面,面试官是西雅图office的,听声音应该是个白人妹子
上来直接做题,题目是merge intervals, 做完了之后讲了讲时间复杂度并且口述了几个test case测程序。
follow up是写addInterval和getAllIntervals的函数,LZ提出的先按start time sort再插入进去的方案被面试官说复杂度太高,想了想说,就sort一次,之后用binary search找第一个有overlap的interval和最后一个有overlap的interval,然后把中间的删了加一个新的。跟面试官讨论了一下,说调用多次之后平均的时间复杂度从O(n)降到了O(log n),因为这时候时间不多了,面试官就让开始写,写了一半只剩3分钟了,于是只能问了两个问题匆匆结束
感觉题目还是不难的,LZ还是有点紧张. from: 1point3acres.com/bbs

发帖攒RP吧,求onsite


补充内容 (2016-1-30 01:07):
妈呀,一早收到HR电话通知过了,约onsite了,好开心!!继续努力!!

评分

1

查看全部评分

vancexu 发表于 2016-1-29 09:39:46 | 显示全部楼层
请问getAllIntervals的要求是什么?是只要遍历list一遍的意思吗?
回复 支持 反对

使用道具 举报

 楼主| hzyslddm 发表于 2016-1-29 09:45:12 | 显示全部楼层
vancexu 发表于 2016-1-29 09:39 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
请问getAllIntervals的要求是什么?是只要遍历list一遍的意思吗?

返回一个iterator,这个没怎么提到,光是讲addInterval了,感觉类里面弄一个成员变量maintain好list就行了,这个函数就返回list的Iterator就好了
回复 支持 反对

使用道具 举报

cx00001 发表于 2016-3-15 04:28:11 | 显示全部楼层
说调用多次之后平均的时间复杂度从O(n)降到了O(log n),??这是为啥 binary sort 不一直是lgn 吗
回复 支持 反对

使用道具 举报

mrhohn 发表于 2016-3-16 11:38:02 | 显示全部楼层
"之后用binary search找第一个有overlap的interval和最后一个有overlap的interval,然后把中间的删了加一个新的".鏈枃鍘熷垱鑷1point3acres璁哄潧

感觉如果container是arraylist之类的,如果删除添加中间的多个元素本身复杂度就是O(N)吧(要保证内存空间连续)?如果是用linkedlist实现constant time增删的话又没有办法直接binary search了。感觉还是挺困惑的,之前做insert interval一直用的是O(N)的方法…
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-9-22 00:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表