一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1288|回复: 17
收起左侧

google 2016全职电面面经

[复制链接] |试试Instant~ |关注本帖
primbo 发表于 2016-11-2 04:03:43 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Failfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
google电面 挂掉了,问题和这个链接里的一模一样,我回答的心路历程也和这个一样。有大神知道 面试官说的linear hashing是什么意思么?
http://stackoverflow.com/questio ... n-an-int-array-java
. 1point 3acres 璁哄潧

补充内容 (2016-11-2 04:05):
前面的两种方法都不是面试官要的答案。

补充内容 (2016-11-2 10:00):
面试官说了,空间复杂度需要是O(1), 时间复杂度优于 O(n2)

评分

1

查看全部评分

本帖被以下淘专辑推荐:

  • · google|主题: 57, 订阅: 5
warriorbrant 发表于 2016-11-3 04:27:35 | 显示全部楼层
primbo 发表于 2016-11-3 03:35
如果是1 到n之间的话怎么做? conting sort也要占用空间的啊。

我不知道这是不是叫linear hashing,就是把原数组当成hash数组
  1. public int helper(int[] array){
  2.    int len=array.length();
  3.    for(int i=0;i<len;i++){
  4.        int tmp=Math.abs(array[i]);
  5.        if(array[tmp-1]<0)return tmp;
  6.        else array[tmp-1]*=-1;
  7.    }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  8.    return -1;
  9. }
复制代码
回复 支持 3 反对 0

使用道具 举报

 楼主| primbo 发表于 2016-11-2 04:04:37 | 显示全部楼层
找数组里面第一个重复的数字
回复 支持 反对

使用道具 举报

elizabethxiazhi 发表于 2016-11-2 04:27:33 | 显示全部楼层
高票答案不可以么?不然linear probing? 开一个等size数组,h(x)+i是新的index, 插入是O(1),search找重复的的话h(x)+i (i=1,...,k).空间O(n),时间的话看hash 函数选择,最差O(n),平均O(1)。。。这个好像算法导论hash table实现有讲,不知道是不是面馆要的,遇上这种题目真是醉了 ...
回复 支持 反对

使用道具 举报

shuiguo 发表于 2016-11-2 08:05:24 | 显示全部楼层
难道面试官想让你排序?
回复 支持 反对

使用道具 举报

 楼主| primbo 发表于 2016-11-2 10:00:38 | 显示全部楼层
shuiguo 发表于 2016-11-2 08:05
难道面试官想让你排序?

排序了找到的就不一定是第一个重复的了。不可以排序
回复 支持 反对

使用道具 举报

 楼主| primbo 发表于 2016-11-2 10:01:01 | 显示全部楼层
elizabethxiazhi 发表于 2016-11-2 04:27
高票答案不可以么?不然linear probing? 开一个等size数组,h(x)+i是新的index, 插入是O(1),search找重复的 ...

空间复杂度需要为O(1)
回复 支持 反对

使用道具 举报

crir 发表于 2016-11-2 12:18:44 | 显示全部楼层
让走过的array有序,用binary search找到相邻数字然后insertion?
问题就是insertion的worst case会O(n2)
回复 支持 反对

使用道具 举报

krystal1115 发表于 2016-11-2 12:35:41 | 显示全部楼层
数组中element的值有范围限制么
回复 支持 反对

使用道具 举报

warriorbrant 发表于 2016-11-2 13:11:06 | 显示全部楼层
如果元素范围在1-n之间我知道咋做,n是length
回复 支持 反对

使用道具 举报

 楼主| primbo 发表于 2016-11-3 03:35:49 | 显示全部楼层
warriorbrant 发表于 2016-11-2 13:11
如果元素范围在1-n之间我知道咋做,n是length

如果是1 到n之间的话怎么做? conting sort也要占用空间的啊。
回复 支持 反对

使用道具 举报

 楼主| primbo 发表于 2016-11-3 08:09:08 | 显示全部楼层
warriorbrant 发表于 2016-11-3 04:27
我不知道这是不是叫linear hashing,就是把原数组当成hash数组

好强大。big cong,你这咋想出来的。
回复 支持 反对

使用道具 举报

denev2004 发表于 2016-11-3 08:40:59 | 显示全部楼层
warriorbrant 发表于 2016-11-3 04:27
我不知道这是不是叫linear hashing,就是把原数组当成hash数组

what if tmp is huge....
回复 支持 反对

使用道具 举报

 楼主| primbo 发表于 2016-11-3 09:00:09 | 显示全部楼层
denev2004 发表于 2016-11-3 08:40
what if tmp is huge....
. 鍥磋鎴戜滑@1point 3 acres
it only works for number from 1 to n
回复 支持 反对

使用道具 举报

aimboy 发表于 2016-11-3 09:18:27 | 显示全部楼层
回复 支持 反对

使用道具 举报

warriorbrant 发表于 2016-11-3 09:33:46 | 显示全部楼层
primbo 发表于 2016-11-3 08:09
好强大。big cong,你这咋想出来的。

原来是pocketgem 面试题,leetcode也有了现在
回复 支持 反对

使用道具 举报

warriorbrant 发表于 2016-11-3 09:37:29 | 显示全部楼层
primbo 发表于 2016-11-3 09:00
it only works for number from 1 to n
.1point3acres缃
你的原题有范围限制吗,要没有还真不好做
回复 支持 反对

使用道具 举报

 楼主| primbo 发表于 2016-11-3 10:02:09 | 显示全部楼层
warriorbrant 发表于 2016-11-3 09:37
你的原题有范围限制吗,要没有还真不好做

同学面的google的题,他没有听清,要没限制真的没法做了感觉。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-4 20:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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