一亩三分地论坛

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

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

Google 电面(准备二面求人品)

[复制链接] |试试Instant~ |关注本帖
williamwjs 发表于 2015-10-6 06:56:14 | 显示全部楼层 |阅读模式

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

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

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

x
听声音是个白人小哥,全程很nice,给了很多提示,优化上自己的表现很是不给力,但是最终还是给我了个二面的机会,求人品!
.鐣欏璁哄潧-涓浜-涓夊垎鍦
题目不难,是这样的:

Given:
int array of size k
int N
int a_init within [0, k)
values in array within [0, k)
A_0 = a_init
A_1 = arr[A_0]
A_2 = arr[A_1]
...
A_i = arr[A_i-1]
Find A_N.

评分

3

查看全部评分

本帖被以下淘专辑推荐:

sc.77885 发表于 2015-10-6 06:59:38 | 显示全部楼层
LZ多久收到消息啊?
回复 支持 反对

使用道具 举报

坐看云起 发表于 2015-10-6 07:00:50 | 显示全部楼层
优化是考虑周期?
回复 支持 反对

使用道具 举报

wxr.dal 发表于 2015-10-6 07:08:49 | 显示全部楼层
就一个题吗?
回复 支持 反对

使用道具 举报

 楼主| williamwjs 发表于 2015-10-6 07:08:57 | 显示全部楼层

对的的的
回复 支持 反对

使用道具 举报

 楼主| williamwjs 发表于 2015-10-6 07:09:10 | 显示全部楼层
sc.77885 发表于 2015-10-6 06:59
LZ多久收到消息啊?
.鐣欏璁哄潧-涓浜-涓夊垎鍦
上周三面试,刚收到回复
回复 支持 反对

使用道具 举报

 楼主| williamwjs 发表于 2015-10-6 07:09:53 | 显示全部楼层
wxr.dal 发表于 2015-10-6 07:08. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
就一个题吗?

嗯,就一个,表现不好,所以二面了
回复 支持 反对

使用道具 举报

坐看云起 发表于 2015-10-6 07:10:34 | 显示全部楼层
williamwjs 发表于 2015-10-6 07:09.鏈枃鍘熷垱鑷1point3acres璁哄潧
嗯,就一个,表现不好,所以二面了
. 鍥磋鎴戜滑@1point 3 acres
我也是即将二面,祝楼祝好运
回复 支持 反对

使用道具 举报

 楼主| williamwjs 发表于 2015-10-6 07:11:46 | 显示全部楼层
坐看云起 发表于 2015-10-6 07:10
我也是即将二面,祝楼祝好运

同祝你好运!!!
回复 支持 反对

使用道具 举报

hulahu 发表于 2015-10-6 08:08:56 | 显示全部楼层
看是简单, 楼主举个例子吧。
回复 支持 反对

使用道具 举报

又见紫风铃 发表于 2015-10-6 09:25:22 | 显示全部楼层
不是太懂诶, 楼主能给个例子或简单Po一下代码么?
感觉这意思好像是直接一个N次的循环就能找到了。。。
回复 支持 反对

使用道具 举报

saberkun 发表于 2015-10-6 09:48:52 | 显示全部楼层
williamwjs 发表于 2015-10-6 07:11
同祝你好运!!!

先求cycle 吗?但可能有多个cycle,对每个a_init 都求?
回复 支持 反对

使用道具 举报

nothingtrouble 发表于 2015-10-6 11:16:39 | 显示全部楼层
又见紫风铃 发表于 2015-10-6 09:25
不是太懂诶, 楼主能给个例子或简单Po一下代码么?
感觉这意思好像是直接一个N次的循环就能找到了。。。

如果N很大很大,那么时间要求非常高,有环的话,最多k次就能找到了。
回复 支持 反对

使用道具 举报

say543 发表于 2015-10-6 11:32:28 | 显示全部楼层
题看不太懂 能说说吗?
回复 支持 反对

使用道具 举报

又见紫风铃 发表于 2015-10-6 20:20:53 | 显示全部楼层
saberkun 发表于 2015-10-6 09:48.1point3acres缃
先求cycle 吗?但可能有多个cycle,对每个a_init 都求?

好像意思是a_init是input,对这个求就行了
回复 支持 反对

使用道具 举报

又见紫风铃 发表于 2015-10-6 20:24:03 | 显示全部楼层
nothingtrouble 发表于 2015-10-6 11:16
如果N很大很大,那么时间要求非常高,有环的话,最多k次就能找到了。

哦哦,所以建个hashset保存每次遇到的值,出现相同的时候就说明有环了,然后set有x个元素,只用找N % x次就行了?

补充内容 (2015-10-6 20:47):
不对,这样只能记录从头开始的cycle,还是得用hashtable记下重复开始的位置
回复 支持 反对

使用道具 举报

uuuouou 发表于 2015-10-6 20:25:23 | 显示全部楼层
lz的免题和我的一样啊http://www.1point3acres.com/bbs/thread-142154-1-1.html,我当时表现不好就一轮游了,lz加油哈,祝好运~
回复 支持 反对

使用道具 举报

又见紫风铃 发表于 2015-10-6 21:07:21 | 显示全部楼层
感觉是这个意思,大概写了下
  1. class Solution:
  2.     def bruteForce(self, nums, N, a_init):
  3.         # O(N)
  4.         if not nums: return None
  5.         A = a_init
  6.         for i in range(N):
  7.             A = nums[A]. more info on 1point3acres.com

  8.         return A
  9. -google 1point3acres
  10.     def countinuousFinding(self, nums, N, a_init):
  11.         # O(k)-google 1point3acres
  12.         if not nums: return None
  13.         occuredIndex = {}.鏈枃鍘熷垱鑷1point3acres璁哄潧
  14.         A = a_init
  15.         occuredIndex[A] = 1

  16. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  17.         cycleStart = None
  18.         for i in range(1, N+1):
  19.             A = nums[A]
    . visit 1point3acres.com for more.
  20.             if A in occuredIndex:
  21.                 cycleStart = occuredIndex[A]. from: 1point3acres.com/bbs
  22.                 break
  23.             else:.鏈枃鍘熷垱鑷1point3acres璁哄潧
  24.                 occuredIndex[A] = i + 1
  25. .鐣欏璁哄潧-涓浜-涓夊垎鍦
  26.         if not cycleStart:. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  27.             return A
  28.         else:
  29.             N = (N - cycleStart + 1) % (len(occuredIndex) - cycleStart + 1)
  30. . From 1point 3acres bbs
  31.         A = a_init
  32.         for i in range(cycleStart - 1 + N):
  33.             A = nums[A]
  34.         return A
复制代码
回复 支持 反对

使用道具 举报

 楼主| williamwjs 发表于 2015-10-6 22:52:39 | 显示全部楼层
hulahu 发表于 2015-10-6 08:08
看是简单, 楼主举个例子吧。
.鐣欏璁哄潧-涓浜-涓夊垎鍦
arr = [1, 2, 3, 4, 5, 6…]
N = 3. visit 1point3acres.com for more.
例子大概是这样的:. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

a_init = 0

A_0 = 0                                   
A_1 = arr[A_0] = arr[0] = 1
A_2 = arr[A_1] = arr[1] = 2. more info on 1point3acres.com
A_3 = arr[A_2] = arr[2] = 3
return 3
回复 支持 反对

使用道具 举报

 楼主| williamwjs 发表于 2015-10-6 22:54:00 | 显示全部楼层
uuuouou 发表于 2015-10-6 20:25
lz的免题和我的一样啊http://www.1point3acres.com/bbs/thread-142154-1-1.html,我当时表现不好就一轮游了 ...
. 鍥磋鎴戜滑@1point 3 acres
要是早点儿看见就好了
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 14:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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