📣 独立日限时特惠: VIP通行证立减$68
楼主: mc422
跳转到指定楼层
上一主题 下一主题
收起左侧

Google电面,面经

🔗
wxr.dal 2015-10-10 06:33:43 | 只看该作者
全局:
祝楼主好运啊!onsite回来记得写面经~
回复

使用道具 举报

🔗
lianlu 2015-10-10 08:40:22 | 只看该作者
全局:
monolake 发表于 2015-10-1 00:45
第一题求测试,sorted array, O(logn)

int totalPass(int * num, int size) {

你的算法在dup的情况下难道不是O(n)?

补充内容 (2015-10-10 08:51):
看错了。。
回复

使用道具 举报

🔗
lianlu 2015-10-10 08:40:29 | 只看该作者
全局:
monolake 发表于 2015-10-1 00:45
第一题求测试,sorted array, O(logn)

int totalPass(int * num, int size) {

你的算法在dup的情况下难道不是O(n)?
回复

使用道具 举报

🔗
jiebour 2015-10-10 08:56:43 | 只看该作者
全局:
第一问,先找min,O(N), 然后再遍历一遍找比min大的数的个数,O(N),对不?
回复

使用道具 举报

🔗
八月槎 2015-10-10 15:16:44 | 只看该作者
全局:
第二题可以用两个priority_queue(就是堆),第一个大根堆存储比当前数小的数字,第二个小根堆存比当前数大的数字
然后每次move next 就看数变大还是变小了,然后从一个堆pop()到另一个堆
回复

使用道具 举报

🔗
goo 2015-10-10 19:24:17 | 只看该作者
全局:
M_Jason 发表于 2015-9-30 08:53
感觉这道题的第二问好像可以用Stack来解决啊,还是需要先排序,从大到小排,然后还要用hash表存储好所有重 ...

我又想了几遍 不可行
回复

使用道具 举报

🔗
goo 2015-10-10 20:16:10 | 只看该作者
全局:
zxy_snow 发表于 2015-10-9 15:53
第二问是不是可以用C++的STL中的multiset,每插入一个,可以算出来前面的个数,是nlogn的。当然也可以用线 ...

stl set里怎么算出前面的个数啊?  lower_bound() 可以返回大于等于的第一个元素的iterator,然后怎么算出前面的个数呢

补充内容 (2015-10-10 20:27):
找到了std::distance(InputIterator p1, InputIterator p2)这个函数 可以计算两个iterator距离 不过时间复杂度是o(n)的 这样总的就成了o(n^2)了
回复

使用道具 举报

🔗
pigmightfly 2015-10-10 23:04:04 | 只看该作者
全局:
monolake 发表于 2015-10-1 00:45
第一题求测试,sorted array, O(logn)

int totalPass(int * num, int size) {

不太懂这个思路。。
看上去是二分查找的模板,但是二分查找的前提条件是sorted array。
能否稍微讲一下思路?~
回复

使用道具 举报

🔗
abcd1992719g 2015-10-10 23:18:07 | 只看该作者
全局:
第二题应该是算法导论第14章,数据结构的扩张-动态顺序统计.使用rbt,每个节点附加size属性吧. 有duplicate也可以
回复

使用道具 举报

🔗
hackenkreuz 2015-10-11 01:46:21 | 只看该作者
全局:
八月槎 发表于 2015-10-10 15:16
第二题可以用两个priority_queue(就是堆),第一个大根堆存储比当前数小的数字,第二个小根堆存比当前数大的 ...

怎么没人支持这楼,这个方法很好啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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