123
返回列表 发新帖
楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

谷歌时间线(VO 5轮+加面2轮 )

 
🔗
edyyy 2020-11-1 06:46:47 | 只看该作者
全局:
天哪,博士new grad都是L4起跳,你都有 工作经验了还给L3,今年狗家真是绝了
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-LZGFG  2020-11-1 08:09:48
edyyy 发表于 2020-11-1 06:46
天哪,博士new grad都是L4起跳,你都有 工作经验了还给L3,今年狗家真是绝了

这段期间,我的几个很牛的跳槽的朋友也都是被谷歌 low ball。就是一副要来的话,没钱也没level,但是我们有技术,你爱来不来的样子。。。
回复

使用道具 举报

🔗
arzus 2020-11-1 11:35:23 | 只看该作者
全局:
bbrsher 发表于 2020-10-13 08:48
题目问每个岛屿面积分别多少,没想明白被环绕的湖泊面积(环绕的0)怎么算,比如
0 0 0 0 1 0
0 1 1 1  ...

我也没太想明白,如果湖泊面积很大只迭代一次标边界怎么统计出整体面积
回复

使用道具 举报

全局:
bbrsher 发表于 2020-10-13 13:58
请问安全商是哪题....

就是三六零
回复

使用道具 举报

🔗
aunom 2020-11-24 08:47:22 | 只看该作者
全局:
这速度是真的慢。。。
回复

使用道具 举报

🔗
xiaocase 2021-1-3 09:48:13 | 只看该作者
全局:
第一题岛屿面积的 one pass 解法:
  1.     public int maxArea(int[][] matrix) {
  2.         int[][] visited = new int[matrix.length][matrix[0].length];
  3.         int max = 0;
  4.         for (int i = 0; i < matrix.length; i ++) {
  5.             for (int j = 0; j < matrix.length; j ++) {
  6.                 if (visited[i][j] == 0 && matrix[i][j] == 1) {
  7.                     max = Math.max(max, countIsland(matrix, visited, i, j));
  8.                 }
  9.             }
  10.         }
  11.         return max;
  12.     }

  13.     private int countIsland(int[][] matrix, int[][] visited, int i, int j) {
  14.         if (i < 0 || i >= matrix.length || j < 0 || j >= matrix[0].length || visited[i][j] != 0) return 0;

  15.         if (matrix[i][j] == 1) {
  16.             visited[i][j] = 1;
  17.             int res = 0;
  18.             for (int[] dir : new int[][]{{1, 0}, {-1, 0}, {0, 1}, {0, -1}}) {
  19.                 res += countIsland(matrix, visited, i + dir[0], j + dir[1]);
  20.             }
  21.             return res;
  22.         }
  23.         else {
  24.             int[] res = new int[1];
  25.             if (countLake(matrix, visited, i, j, res)) {
  26.                 return res[0];
  27.             }
  28.             else {
  29.                 return 0;
  30.             }
  31.         }
  32.     }

  33.     private boolean countLake(int[][] matrix, int[][] visited, int i, int j, int[] res) {
  34.         if (i == 0 || i == matrix.length - 1 || j == 0 || j == matrix[0].length - 1 || visited[i][j] == -1 && matrix[i][j] == 0) return false;
  35.         if (visited[i][j] == 1 || matrix[i][j] == 1) return true;

  36.         res[0] += 1;
  37.         for (int[] dir : new int[][]{{1, 0}, {-1, 0}, {0, 1}, {0, -1}}) {
  38.             boolean isLake = countLake(matrix, visited, i + dir[0], j + dir[1], res);
  39.             if (!isLake) {
  40.                 visited[i][j] = -1;
  41.                 return false;
  42.             }
  43.         }
  44.         visited[i][j] = 1;
  45.         return true;
  46.     }
复制代码
回复

使用道具 举报

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

本版积分规则

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