一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

一亩三分地官方iOS手机应用下载
查看: 1779|回复: 14
收起左侧

Google New Grad Phone Interview

[复制链接] |试试Instant~ |关注本帖
tenliu 发表于 2014-12-4 08:04:24 | 显示全部楼层 |阅读模式

2014(10-12月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Pass

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
一听到熟悉的国人口音一下子放松了 人nice题也简单
. Waral 鍗氬鏈夋洿澶氭枃绔,
0.自我介绍


1. 求tree height

2. 求deepest leaf node(height最大的). more info on 1point3acres.com

3. 求shallowest leaf node(height最小)

4. zigzag打印矩阵
e.g.  
input:
a b c
d e f
g h i

output:
adbceghfi

5. Resume

G家HR态度好效率高内推一周给电面 面完第二天给onsite

评分

2

查看全部评分

suonan 发表于 2014-12-4 09:05:24 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
楼主大牛啊,电面问了这么多题! 祝onsite顺利~~
回复 支持 反对

使用道具 举报

teedoo 发表于 2014-12-4 09:40:45 | 显示全部楼层
关注一亩三分地微博:
Warald
请问楼主zigzag那道题用了extra memory了吗
回复 支持 反对

使用道具 举报

 楼主| tenliu 发表于 2014-12-5 06:48:43 | 显示全部楼层
teedoo 发表于 2014-12-4 09:40. visit 1point3acres.com for more.
请问楼主zigzag那道题用了extra memory了吗

没阿 就暴力解 先下1 再右上直到顶(上或右) 再右1 再左下直到底(左或下) 再考虑下corner case就好
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-12-28 00:02:31 | 显示全部楼层
google的phone面确实简单。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
onsite比较难。

有钱就是任性。
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

yzl232 发表于 2014-12-28 00:41:34 | 显示全部楼层
国人并没有出leetcode题放水。
都是灵活的题目。
还是楼主实力强
回复 支持 反对

使用道具 举报

applepie11 发表于 2014-12-28 01:20:39 | 显示全部楼层
第一题跟第二题有啥区别?? 基本都leetcode吧。。
回复 支持 反对

使用道具 举报

kwang75 发表于 2014-12-29 03:22:04 | 显示全部楼层
lz怎么能答了这么多题。。。

我45min一共就一题,做完以后面试官稍微改了改变得比较复杂,就让我说说思路就没再继续了。。。

求攒人品!
回复 支持 反对

使用道具 举报

ekco 发表于 2015-1-2 11:42:06 | 显示全部楼层
lz真的是好多题啊
回复 支持 反对

使用道具 举报

legendava 发表于 2015-1-6 13:44:40 | 显示全部楼层
为什么那个zigzag a 之后是d,应该是b比较合理感觉
回复 支持 反对

使用道具 举报

munez26 发表于 2015-1-7 13:32:18 | 显示全部楼层
legendava 发表于 2015-1-6 13:44
为什么那个zigzag a 之后是d,应该是b比较合理感觉

有两种走法,可以先走b. 这种的话,应该是abdgecfhi
回复 支持 反对

使用道具 举报

javaprogrammer 发表于 2015-12-25 12:46:43 | 显示全部楼层
第四题,zigzag 打印
. Waral 鍗氬鏈夋洿澶氭枃绔,
  1. public class ZigzagPrintMatrix {
  2. . visit 1point3acres.com for more.
  3.     public static List<Integer> zigzagPrint(int[][] board) {
  4.         List<Integer> result = new ArrayList<Integer>();-google 1point3acres
  5.         int m = board.length;
  6.         if (m == 0 || board[0].length == 0) return result;
  7.         int n = board[0].length;
  8.         int i = 0, j = 0;
  9.         while (i < m && j < n) {
  10.             result.add(board[i][j]);
  11.             if (i + 1 < m) i++;
  12.             else if (j + 1 < n) j++;
  13.             else break;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  14.             while (i > 0 && j + 1 < n) {
  15.                 result.add(board[i][j]);. 1point3acres.com/bbs
  16.                 i--;
  17.                 j++;
  18.             }
  19.             result.add(board[i][j]);
  20.             if (i == 0) j++;
  21.             else i++;
  22.             while (i + 1 < m && j > 0) {. visit 1point3acres.com for more.
  23.                 result.add(board[i][j]);. 1point 3acres 璁哄潧
  24.                 i++;
  25.                 j--;
  26.             }
  27.         }
    . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  28.         return result;
  29.     }
  30.     . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  31.     public static void main(String[] args) {
  32.      //  int[][] board = {{1,2,3,4,5}, {6,7,8,9,1}, {2,3,4,5,6}};
  33.         int[][] board = {{1,2,3}, {4,5,6}, {7,8,9}};
  34.         List<Integer> result = zigzagPrint(board);
  35.         for (int d : result){
  36.             System.out.print(d + " ");
  37.         }
  38.         System.out.println();
  39.     }
  40. }
复制代码
回复 支持 反对

使用道具 举报

rosalind324 发表于 2015-12-26 12:36:03 | 显示全部楼层
除了第四题 都是Leetcode原题啊~
回复 支持 反对

使用道具 举报

e6175423 发表于 2015-12-27 18:10:17 | 显示全部楼层
void zigzagPrint(vector<vector<char> > matrix) {
  int n =  matrix.size();
  for(int i = 0; i < 2*n-1; i++) {. Waral 鍗氬鏈夋洿澶氭枃绔,
    for(int j = 0; j <= min(i,n-1); j++) {
      if (i-j<0 || i-j>=n) {
        continue;
      }
      if (i%2) {
        cout<<matrix[j][i-j];. 1point3acres.com/bbs
      } else {
        cout<<matrix[i-j][j];
      }
    }
  }. visit 1point3acres.com for more.
  cout<<endl;
}. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

int main() {. from: 1point3acres.com/bbs
  vector<vector<char>> matrix({{'a','b','c'},{'d','e','f'},{'g','h','i'}});
  zigzagPrint(matrix);
}
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-1-31 11:24:02 | 显示全部楼层
写了下代码,应该最浅node应该用bfs会好些
  1. public class TreeQuestions {
  2.        
  3.         class Node {. Waral 鍗氬鏈夋洿澶氭枃绔,
  4.                 int val;
  5.                 Node left;
  6.                 Node right;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  7.         }
  8.        
  9.         public int getTreeHeight(Node root) {
  10.                 if (root == null) {
  11.                         return 0;
  12.                 }
  13.                
  14.                 return Math.max(getTreeHeight(root.left), getTreeHeight(root.right)) + 1;
  15.         }
  16.        
  17.        
  18.         private Node res = null;
  19.         private int level = 0;
  20.         public Node getDeepestLeafNode(Node root) {
  21.                 if (root == null) {
  22.                         return null;
  23.                 }
  24.                 helper(root, 1);
  25.                 return res;
  26.         }
  27.        
  28.         public void helper(Node root, int n) {
  29.                 if (root == null) {
  30.                         return;
  31.                 }
  32.                 if (root.left == null && root.right == null && n > level) {
  33.                         level = n;. 1point3acres.com/bbs
  34.                         res = root;. From 1point 3acres bbs
  35.                 }
  36.                 helper(root.left, n + 1);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  37.                 helper(root.right, n + 1);
  38.         }
  39.        
  40.         private Node res2 = null;
  41.         private int level2 = Integer.MAX_VALUE;.1point3acres缃
  42.         public Node getShallowestLeafNode2(Node root) {
  43.                 if (root == null) {
  44.                         return null;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  45.                 }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  46.                 helper2(root, 1);
  47.                 return res2;
  48.         }
  49.        
  50.         public void helper2(Node root, int n) {
  51.                 if (root == null || n >= level2) {. From 1point 3acres bbs
  52.                         return;
  53.                 }
  54.                 if (root.left == null && root.right == null && n < level2) {
  55.                         level2 = n;
    . 1point3acres.com/bbs
  56.                         res2 = root;
  57.                 }
  58.                 helper(root.left, n + 1);. 鍥磋鎴戜滑@1point 3 acres
  59.                 helper(root.right, n + 1);
  60.         }.1point3acres缃
  61. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-3-31 02:59

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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