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

facebook 电面

全局:

2015(7-9月) 码农类General 硕士 实习@meta - 内推 - 技术电面  | | Other |

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

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

x
intern第一轮面试。小哥应该不是三哥。
给一个0 1 矩阵,连在一起的1算做岛。求问岛的个数
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
ahoma,">写的慢,就这一个题。小哥也没说满意不满意。

不知道能不能过啊。

评分

参与人数 2大米 +6 收起 理由
碇真嗣 + 3 感谢分享!
cjlm007 + 3 感谢分享!

查看全部评分


上一篇:03/15 Yelp OA 求RP,求OFFER
下一篇:Palantir 面经
推荐
qjx026 2015-3-17 05:13:58 | 只看该作者
全局:
jzy637 发表于 2015-3-16 07:42
学校牛b就能过。
背景一般就跪。

真相了。。。。。。
回复

使用道具 举报

推荐
池大侠 2015-3-23 23:50:00 | 只看该作者
全局:
  1. def check(row, col, board, visit):
  2.         m = len(board)
  3.         n = len(board[0])
  4.         if row >= 0 and row < m and col >= 0 and col < n and visit[row][col] == False and board[row][col] == 1:
  5.                 return True
  6.         return False
  7. def dfs(row, col, board, visit, curcount):
  8.         nbrow = [1, 0, -1, 0]
  9.         nbcol = [0, 1, 0, -1]
  10.         visit[row][col] = True
  11.         curcount += 1
  12.         for k in xrange(4):
  13.                 if check(row + nbrow[k], col + nbcol[k], board, visit):
  14.                         #curcount += 1
  15.                         dfs(row + nbrow[k], col + nbcol[k], board, visit, curcount)
  16.         print curcount



  17. def getRes(board):
  18.         count = 0
  19.         visit = [[False for i in range(len(board[0]))] for j in range(len(board))]
  20.         curcount = 0
  21.         res = []

  22.         for row in xrange(len(board)):
  23.                  for  col in xrange(len(board[0])):
  24.                          if board[row][col] == 1 and visit[row][col] == False:
  25.                                  dfs(row, col, board, visit, curcount)
  26.                                  count += 1
  27.                                  res.append(curcount)
  28.         print visit
  29.         return count, res

  30. board = [[1, 1, 0, 0, 1], [1, 0, 0, 1, 1]]

  31. print getRes(board)

复制代码
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复

使用道具 举报

推荐
pandafolk 2015-3-18 05:02:25 | 只看该作者
全局:
一个电面,,,我一直主张电面不要炫技。。就plain的暴力就ok。贴个子集拙劣的code吧 这是DFS的。
  1. public class SolutionDFS {
  2.    
  3.     private int row;
  4.     private int col;   

  5.     public int solve(int[][] a) {
  6.         this.row = a.length;
  7.         this.col = a[0].length;
  8.         int ans = 0;
  9.         for (int i = 0; i < row; i++) {
  10.             for (int j = 0; j < col; j++) {
  11.                 if (a[i][j] == 1) {
  12.                     dfs(a, i, j);
  13.                     ans++;
  14.                 }
  15.             }
  16.         }
  17.         
  18.         return ans;
  19.     }

  20.     private void dfs(int[][] a, int i, int j){
  21.         if (i < 0 || i >= row || j < 0 || j >= col || a[i][j] != 1) {
  22.             return;
  23.         }
  24.         a[i][j] = 2;
  25.         dfs(a, i + 1, j);
  26.         dfs(a, i, j + 1);
  27.         dfs(a, i - 1, j);
  28.         dfs(a, i, j - 1);
  29.     }
  30. }
复制代码
回复

使用道具 举报

🔗
jzy637 2015-3-16 07:42:38 | 只看该作者
全局:
学校牛b就能过。
背景一般就跪。
回复

使用道具 举报

🔗
 楼主| douya 2015-3-16 10:29:16 | 只看该作者
全局:
jzy637 发表于 2015-3-16 07:42
学校牛b就能过。
背景一般就跪。

我了去。。。还可以这样啊
回复

使用道具 举报

🔗
wy193777 2015-3-16 23:19:49 | 只看该作者
全局:
这题咋做, bfs吗?
回复

使用道具 举报

🔗
shawlin 2015-3-17 00:12:17 | 只看该作者
全局:

感觉BFS , DFS都可以,类似于找多少个connected component吧,只是我们关心 1的CC
回复

使用道具 举报

🔗
clfhaha1234 2015-3-17 00:17:16 | 只看该作者
全局:
有个东西叫做并查集……
回复

使用道具 举报

🔗
robinho364 2015-3-17 00:36:13 | 只看该作者
全局:
……这个是典型的连通图问题。

无向图一般两种做法,dfs,或者是并查集。

这题可以扩展,

一种是扩展到二分图问题。

另外一种可以扩展成多维并查集,这个比较好举例子,比如说两点之间有多条路径,问连通图。
回复

使用道具 举报

🔗
robinho364 2015-3-17 00:41:22 | 只看该作者
全局:
shawlin 发表于 2015-3-17 00:12
感觉BFS , DFS都可以,类似于找多少个connected component吧,只是我们关心 1的CC

BFS一般不是处理这种问题用的。类似的科研中估计也不会用BFS,因为收敛速度的问题。当然这题一定要用也没有问题的。

另外如果是strong connected components,就不是类似的做法了。
回复

使用道具 举报

🔗
yuxrose 2015-3-17 01:59:08 | 只看该作者
全局:
robinho364 发表于 2015-3-17 00:36
……这个是典型的连通图问题。

无向图一般两种做法,dfs,或者是并查集。

请问这题面试官expect的答案是DFS还是union find呢?各自有什么优劣呢?
回复

使用道具 举报

🔗
 楼主| douya 2015-3-17 02:25:31 | 只看该作者
全局:
yuxrose 发表于 2015-3-17 01:59
请问这题面试官expect的答案是DFS还是union find呢?各自有什么优劣呢?

我用dfs做的,面试官好沉默,感觉闷闷不乐的样子。也没说他expect啥。我说dfs,他说好。。
回复

使用道具 举报

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

本版积分规则

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