一亩三分地论坛

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

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

Google New Grad Phone Interview

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

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

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

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

x
一听到熟悉的国人口音一下子放松了 人nice题也简单.1point3acres缃
. 1point 3acres 璁哄潧
0.自我介绍


1. 求tree height

2. 求deepest leaf node(height最大的)
.1point3acres缃
3. 求shallowest leaf node(height最小)

4. zigzag打印矩阵-google 1point3acres
e.g.  
input:
a b c
d e f.鐣欏璁哄潧-涓浜-涓夊垎鍦
g h i. 1point 3acres 璁哄潧

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
请问楼主zigzag那道题用了extra memory了吗

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

使用道具 举报

averillzheng 发表于 2014-12-28 00:02:31 | 显示全部楼层
google的phone面确实简单。
onsite比较难。

有钱就是任性。
回复 支持 反对

使用道具 举报

yzl232 发表于 2014-12-28 00:41:34 | 显示全部楼层
国人并没有出leetcode题放水。.鐣欏璁哄潧-涓浜-涓夊垎鍦
都是灵活的题目。
.鏈枃鍘熷垱鑷1point3acres璁哄潧 还是楼主实力强
回复 支持 反对

使用道具 举报

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

使用道具 举报

kwang75 发表于 2014-12-29 03:22:04 | 显示全部楼层
lz怎么能答了这么多题。。。
. 鍥磋鎴戜滑@1point 3 acres
我45min一共就一题,做完以后面试官稍微改了改变得比较复杂,就让我说说思路就没再继续了。。。
. 1point3acres.com/bbs
求攒人品!
回复 支持 反对

使用道具 举报

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 打印

  1. public class ZigzagPrintMatrix {

  2.     public static List<Integer> zigzagPrint(int[][] board) {. Waral 鍗氬鏈夋洿澶氭枃绔,
  3.         List<Integer> result = new ArrayList<Integer>();
  4.         int m = board.length;-google 1point3acres
  5.         if (m == 0 || board[0].length == 0) return result;
  6.         int n = board[0].length;
  7.         int i = 0, j = 0;. 鍥磋鎴戜滑@1point 3 acres
  8.         while (i < m && j < n) {
  9.             result.add(board[i][j]);
  10.             if (i + 1 < m) i++;
  11.             else if (j + 1 < n) j++;
  12.             else break;
  13.             while (i > 0 && j + 1 < n) {
  14.                 result.add(board[i][j]);. visit 1point3acres.com for more.
  15.                 i--;
  16.                 j++;
  17.             }. 1point3acres.com/bbs
  18.             result.add(board[i][j]);
  19.             if (i == 0) j++;
  20.             else i++;
  21.             while (i + 1 < m && j > 0) {
  22.                 result.add(board[i][j]);
  23.                 i++;
  24.                 j--;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  25.             }
  26.         }
  27.         return result;
  28.     }
  29.    
  30.     public static void main(String[] args) {
  31.      //  int[][] board = {{1,2,3,4,5}, {6,7,8,9,1}, {2,3,4,5,6}};
  32.         int[][] board = {{1,2,3}, {4,5,6}, {7,8,9}};
  33.         List<Integer> result = zigzagPrint(board);. 鍥磋鎴戜滑@1point 3 acres
  34.         for (int d : result){
  35.             System.out.print(d + " ");.鏈枃鍘熷垱鑷1point3acres璁哄潧
  36.         }
  37.         System.out.println();
  38.     }
  39. }
复制代码
回复 支持 反对

使用道具 举报

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++) {
    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];
      } else {
        cout<<matrix[i-j][j];
      }
    }
  }.1point3acres缃
  cout<<endl;
}

int main() {
  vector<vector<char>> matrix({{'a','b','c'},{'d','e','f'},{'g','h','i'}});
  zigzagPrint(matrix);
}
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-1-31 11:24:02 | 显示全部楼层
写了下代码,应该最浅node应该用bfs会好些. From 1point 3acres bbs
  1. public class TreeQuestions {
  2.        
  3.         class Node {
  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;. 鍥磋鎴戜滑@1point 3 acres
  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;-google 1point3acres
  31.                 }
  32.                 if (root.left == null && root.right == null && n > level) {
  33.                         level = n;
  34.                         res = root;
  35.                 }
  36.                 helper(root.left, n + 1);
  37.                 helper(root.right, n + 1);
  38.         }
  39.         . 1point 3acres 璁哄潧
  40.         private Node res2 = null;. Waral 鍗氬鏈夋洿澶氭枃绔,
  41.         private int level2 = Integer.MAX_VALUE;
  42.         public Node getShallowestLeafNode2(Node root) {.1point3acres缃
  43.                 if (root == null) {
  44.                         return null;
  45.                 }
  46.                 helper2(root, 1);
  47.                 return res2;
  48.         }. From 1point 3acres bbs
  49.        
  50.         public void helper2(Node root, int n) {
  51.                 if (root == null || n >= level2) {
  52.                         return;
  53.                 }
  54.                 if (root.left == null && root.right == null && n < level2) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  55.                         level2 = n;
  56.                         res2 = root;
  57.                 }
  58.                 helper(root.left, n + 1);
  59.                 helper(root.right, n + 1);
  60.         }
  61. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-4-28 17:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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