回复: 31
跳转到指定楼层
上一主题 下一主题
收起左侧

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

全局:

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

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
听声音是个白人小哥,全程很nice,给了很多提示,优化上自己的表现很是不给力,但是最终还是给我了个二面的机会,求人品!

题目不难,是这样的:

Given:
int array of size k
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
"left">A_i = arr[A_i-1]
Find A_N.

评分

参与人数 3大米 +36 收起 理由
bihuzhuazhua + 3 感谢分享!
jacksterling + 30 感谢分享!
hulahu + 3 感谢分享!

查看全部评分


上一篇:FB 2015-10-05 面经
下一篇:Yelp OA v5

本帖被以下淘专辑推荐:

全局:
感觉是这个意思,大概写了下
  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]

  8.         return A

  9.     def countinuousFinding(self, nums, N, a_init):
  10.         # O(k)
  11.         if not nums: return None
  12.         occuredIndex = {}
  13.         A = a_init
  14.         occuredIndex[A] = 1

  15.         cycleStart = None
  16.         for i in range(1, N+1):
  17.             A = nums[A]
  18.             if A in occuredIndex:
  19.                 cycleStart = occuredIndex[A]
  20.                 break
  21.             else:
  22.                 occuredIndex[A] = i + 1

  23.         if not cycleStart:
  24.             return A
  25.         else:
  26.             N = (N - cycleStart + 1) % (len(occuredIndex) - cycleStart + 1)

  27.         A = a_init
  28.         for i in range(cycleStart - 1 + N):
  29.             A = nums[A]
  30.         return A
复制代码
回复

使用道具 举报

全局:
按我的理解写了一段可以跑通的代码 求指正!
  1. public static int inferNthElement(int[] arr, int i, int n) {
  2.                 List<Integer> items = new ArrayList<Integer>();
  3.                 int cycle = 0;
  4.                 int start = 0;
  5.                 for(int j = 0; j <= n; j++) {
  6.                         if(j == 0) items.add(arr[i]);
  7.                         else if(!items.contains(arr[items.get(j - 1)])) {
  8.                                 items.add(arr[items.get(j - 1)]);
  9.                         }else {
  10.                                 start = items.indexOf(arr[items.get(j - 1)]);
  11.                                 cycle = j - start;
  12.                         }
  13.                 }
  14.                 if(items.size() != n + 1) {
  15.                         return items.get((n - start) % cycle + start);
  16.                 }else {
  17.                         return items.get(items.size() - 1);
  18.                 }
  19.         }
复制代码
回复

使用道具 举报

推荐
tangvictor 2015-10-19 08:02:30 | 只看该作者
全局:
python代码粘过来以供大家参考,多谢楼主分享。
第一个函数是k不大的时候,第二个是k可能很大的情况,考虑有环的解法。
  1. def arrayIndex(A, N, k, init):
  2.         a = init
  3.         for i in range(1, N + 1):
  4.                 a = A[a]

  5.         return a

  6. def indexCycle(A, N, k, init):
  7.         cycle = []
  8.         a = init
  9.         i = 1
  10.         while i <= N:
  11.                 if a not in cycle:
  12.                         cycle.append(a)
  13.                         a = A[a]
  14.                         i += 1
  15.                 else:
  16.                         break

  17.         if i == N:
  18.                 return a
  19.         else:
  20.                 return cycle[N % len(cycle)]
复制代码
回复

使用道具 举报

🔗
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 | 只看该作者
全局:

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

使用道具 举报

🔗
坐看云起 2015-10-6 07:10:34 | 只看该作者
全局:
williamwjs 发表于 2015-10-6 07:09
嗯,就一个,表现不好,所以二面了

我也是即将二面,祝楼祝好运
回复

使用道具 举报

🔗
 楼主| williamwjs 2015-10-6 07:11:46 | 只看该作者
全局:
坐看云起 发表于 2015-10-6 07:10
我也是即将二面,祝楼祝好运

同祝你好运!!!
回复

使用道具 举报

🔗
hulahu 2015-10-6 08:08:56 | 只看该作者
全局:
看是简单, 楼主举个例子吧。
回复

使用道具 举报

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

本版积分规则

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