到底为啥那么多人转Data Science

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
[Google级团队]:实时大数据分析领域践行者
北京/深圳-大数据/搜索/机器学习职位
日志易机器大数据行业践行者Web/大数据/机器学习等职位-北京or深圳
把贵司招聘信息放这里
查看: 2308|回复: 5
收起左侧

Google 9/30 电面面经

[复制链接] |试试Instant~ |关注本帖
royyjzhang 发表于 2016-10-1 09:24:42 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类General 本科 全职@Google - 内推 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
45分钟电面一共两题。
第一题:高精度加法,用数组代替单独的整数
第二题:删除二叉树一些节点,返回剩下的森林。我的解法是用dfs遍历整个树,遇到需要删除的节点就删除,将子结点作为新的数的树根,父节点指向该节点的指针设为NULL。

评分

1

查看全部评分

本帖被以下淘专辑推荐:

zyoppy008 发表于 2016-10-1 12:10:20 | 显示全部楼层
第一题麻烦,详细说一下。。. Waral 鍗氬鏈夋洿澶氭枃绔,
第二题节点都删除了,用子节点做新的树根,为什么还需要将父节点指向该指针设为NULL啊,父节点不是已经删除了嘛。。。
回复 支持 反对

使用道具 举报

startuptech11 发表于 2016-10-1 21:28:11 | 显示全部楼层
能否请您给的题为例,让我们能够更好地理解?
回复 支持 反对

使用道具 举报

 楼主| royyjzhang 发表于 2016-10-2 07:24:34 | 显示全部楼层
startuptech11 发表于 2016-10-1 21:28
能否请您给的题为例,让我们能够更好地理解?
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
高精度加法就是使用数组存一个数,每一位作为数组的一个元素存储。比如2479=【2,4,7,9】
第二题是被删除的节点的父节点需要修改指针,这个父节点不一定被删除了。
回复 支持 反对

使用道具 举报

rcholic 发表于 2016-10-2 07:30:52 | 显示全部楼层
我k,这个第二题前几天在本版看到过啊,解法也有,看来面经针的很重要哦:. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

  1. . 1point3acres.com/bbs
  2. public List<TreeNode> deleteNodes(int[] nodes, TreeNode root) {
  3.         List<TreeNode> roots = new ArrayList<>();
  4. . Waral 鍗氬鏈夋洿澶氭枃绔,
  5.         if (nodes == null || nodes.length == 0 || root == null) return roots;

  6.         HashSet<Integer> deletion = new HashSet<>(nodes.length);

  7.         for (int n : nodes) {. Waral 鍗氬鏈夋洿澶氭枃绔,
  8.             deletion.add(n);
  9.         }

  10. . 1point 3acres 璁哄潧

  11.         TreeNode r = helper(root, deletion, roots);

  12.         if (r != null) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  13.             roots.add(r); // this is a corner case when the last root is not deleted-google 1point3acres
  14.         }

  15.         return roots;
  16.     }

  17.     // return root
  18.     private TreeNode helper(TreeNode root, HashSet<Integer> hash, List<TreeNode> results) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

  19.         if (root == null) {
  20.             return root;
  21.         }
  22. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  23.         root.left = helper(root.left, hash, results);
  24.         root.right = helper(root.right, hash, results);. from: 1point3acres.com/bbs
  25.         if (hash.contains(root.val)) {. Waral 鍗氬鏈夋洿澶氭枃绔,
  26.             if (root.left != null) {
  27.                 results.add(root.left);. more info on 1point3acres.com
  28.             }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  29.             if (root.right != null) {
  30.                 results.add(root.right);
  31.             }
  32.             return null; // root is deleted, return null
  33.         }. 1point 3acres 璁哄潧

  34.         return root;
  35.     }
复制代码
回复 支持 反对

使用道具 举报

liurudahai 发表于 2016-10-2 15:05:50 | 显示全部楼层
第二题是不是就是简单的二叉树删除,貌似都没有说是BST吧
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-4-25 07:09

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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