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

Google onsite 面筋失败经验

🔗
jiebour 2015-9-6 07:43:01 | 只看该作者
全局:
totolin 发表于 2015-7-17 21:51
第一要考虑食物被隔开的情况,事先要讨论好怎么处理而不是事后被指出。题41最优是o(n).我遍了个o(n2)的

为什么食物找不到的情况卡住了?
BFS的时候queue里没东西了,然后你还没发现食物,这不就done了?
回复

使用道具 举报

全局:
请问第2题是infinite的做法应该是什么?lz当时怎么回答的?
回复

使用道具 举报

🔗
duffywan 2015-10-8 22:03:20 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
 楼主| totolin 2015-10-8 23:08:37 | 只看该作者
全局:
大概是这样

  1. from collections import deque



  2. def shortestPoint(A):
  3.     m = len(A)
  4.     n = len(A[0])
  5.     psum = [[0]*n for k in range(m)]

  6.     for i in range(m):
  7.         for j in range(n):
  8.             if A[i][j] == 2:
  9.                 B = [[-1]*n for k in range(m)]
  10.                 B[i][j] = 0
  11.                 bfshelper(B, A, i, j, m, n)
  12.                 psum = map(lambda pair: map(lambda x, y: x+y, pair[0] , pair[1]),  zip(B,psum))

  13.     mini, minj, maxstep = -1, -1, 2147483647
  14.     for i in range(m):
  15.         for j in range(n):
  16.             if 0 < psum[i][j] < maxstep:
  17.                 mini, minj = i, j
  18.                 maxstep = psum[i][j]
  19.     return (mini, minj)

  20. def bfshelper(B, A, i, j, m, n):
  21.     Q = deque([(i,j)])

  22.     while Q:
  23.         (i, j) = Q.popleft()
  24.         for x, y in [(i+1,j), (i-1, j), (i, j+1), (i, j-1)]:
  25.             if 0<=x<m and 0<=y<n and B[x][y] == -1 and A[x][y] != 0:
  26.                 B[x][y] = B[i][j] + 1
  27.                 Q.append( (x, y) )

  28.    

  29. def Main():
  30.     C = [[0, 2, 1, 1], [0, 1, 2, 0], [1, 1, 1, 1], [1, 0, 0, 2], [1, 2, 0, 0]]
  31.     B = [[2,0,1, 0], [1,1,1, 2], [0,1,0, 0], [1, 1, 1, 2]]
  32.     A = [[1]]
  33.     D = [[2, 1, 0, 0], [1, 2, 0, 1], [1, 0, 2, 1], [0, 1, 2, 1]]

  34.     test = C
  35.     for row in test:
  36.         print row

  37.     print "---"
  38.     print shortestPoint(test)

  39. if __name__ == '__main__':
  40.     Main()
复制代码
回复

使用道具 举报

🔗
returning 2015-10-11 01:07:27 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
白露为霜 2015-10-11 14:11:40 | 只看该作者
全局:
为什么第五题的字典是4G而不是16G的呢,2^32个数,每个都要占用4byte不是么

另外第一题的代码看不太懂,楼主可以加一点注释么
回复

使用道具 举报

🔗
say543 2015-10-12 02:21:35 | 只看该作者
全局:
returning 发表于 2015-10-11 01:07
对于很大stream求median,我觉得应该有个范围估值,可以把一定很大的数抛弃,把一定很小的数抛弃,假设一定 ...

弱弱的问一下既然是求median(中位数) 为什么会有因为size 而漏掉的情况呢?还是讨论的是求mean(平均数)?
回复

使用道具 举报

🔗
returning 2015-10-12 03:33:46 | 只看该作者
全局:
say543 发表于 2015-10-12 02:21
弱弱的问一下既然是求median(中位数) 为什么会有因为size 而漏掉的情况呢?还是讨论的是求mean(平均数)?

题目不是说万一数目很大怎么办?如果heap不能维护,那肯定就要估计了,对吧,一旦估计就可能漏掉一些,除非开始的估计很准确。
回复

使用道具 举报

🔗
latioswang 2015-11-4 19:45:13 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
yx1232287 2015-11-5 10:45:51 | 只看该作者
全局:
stellari 发表于 2015-7-19 01:26
感谢楼主分享,但是原题不是要求a和b的hamming distance么?如果按这种方法建字典,得到似乎是a和0的hamm ...

我也有同样的问题,请问你是怎么理解的?
回复

使用道具 举报

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

本版积分规则

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