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

2019 google summer intern电面

🔗
foryousee 2018-10-31 00:38:18 | 只看该作者
全局:
hlckl123456 发表于 2018-10-30 15:14
哈哈哈  太秀了吧。。  大佬大佬

主要是国内逼得。国内有些公司面试的时候说实话跟智障一样。那次去面试人家说你top2连个红黑树40分钟都写不出来?我是很服的,美国我打赌百分之99的程序员40分钟撸不出来红黑树。
回复

使用道具 举报

🔗
 楼主| lizijian 2018-10-31 01:04:50 | 只看该作者
全局:
hlckl123456 发表于 2018-10-30 14:25
提供一个方法
10000
11000

感谢大佬!!!
回复

使用道具 举报

🔗
hlckl123456 2018-11-1 05:50:23 | 只看该作者
全局:
foryousee 发表于 2018-10-31 00:38
主要是国内逼得。国内有些公司面试的时候说实话跟智障一样。那次去面试人家说你top2连个红黑树40分钟都写 ...

层主 无意之间 暴露了自己是top2的大佬  摩拜
回复

使用道具 举报

🔗
shuofeng11 2018-11-11 03:28:14 | 只看该作者
全局:
foryousee 发表于 2018-10-28 01:36
就是说对于一个点,它的row或者col有任意点,就可以被移除。然后求最多可以移除多少个点。之后就是求有多 ...

请问对于两个不直接相连的cluster怎么使用union find?
回复

使用道具 举报

🔗
DevidXu 2018-11-11 03:42:50 | 只看该作者
全局:
  1. typedef pair<int, int> Pair;
  2. class Solution {
  3. public:
  4.         int row = 0, col = 0, total = 0;
  5.         void merge(vector<int>& parents, int x, int y) {
  6.                 while (parents[x] != x) {
  7.                         x = parents[x] = parents[parents[x]]; // union find speed up
  8.                         y = parents[y] = parents[parents[y]];
  9.                 }
  10.                 if (x != y) total -= 1;
  11.                 parents[x] = y;
  12.                 return;
  13.         }

  14.         int unionMurble(vector<vector<int>> board) {
  15.                 row = board.size(); col = board[0].size();
  16.                 total = row * col;
  17.                 // record last row/col of murble appreared to speed up
  18.                 vector<int> rowIdx(row, -1), colIdx(col, -1);
  19.                 vector<int> parents(row*col); // union find
  20.                 for (int i=0;i<row;i++)
  21.                         for (int j = 0; j < col; j++) {
  22.                                 parents[i*row + j] = i * row + j;
  23.                                 if (board[i][j] == 0) total -= 1;
  24.                                 else {
  25.                                         if (colIdx[j] >= 0) merge(parents, colIdx[j] * row + j, i*row + j);
  26.                                         if (rowIdx[i] >= 0) merge(parents, i*row + rowIdx[i], i*row + j);
  27.                                         colIdx[j] = i; rowIdx[i] = j; // update last row and col
  28.                                 }
  29.                         }
  30.                 return total; // return num of murble cluster
  31.         }
  32. };
复制代码
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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