一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 2519|回复: 19
收起左侧

google电面

[复制链接] |试试Instant~ |关注本帖
qwewwwww 发表于 2015-6-23 07:14:45 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Passfresh grad应届毕业生

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

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

x
. more info on 1point3acres.com
给我小哥没有废话直接上题
我coding速度太慢,只面了一道题目

给出一个迭代器,迭代器里存了很多个类R的实例, 类R里只有两个参数,都是String类型,分别代表Parent 和 Child,child只有一个Parent,Parent 可以有任意数量child
按所给示例输出所有的层级关系

eg:
A
  B1. visit 1point3acres.com for more.
  B2
    C1
    C2
  B3
    D1
    D2



评分

2

查看全部评分

glaciersilent 发表于 2015-6-24 13:50:08 | 显示全部楼层
这个为什么要用到tree呢? 我觉得iterate 然后对每个实例R建HashMap(Parent,ArrayList[children]),然后对那些不是任何一个点的child的parent进行DFS应该就可以了吧
回复 支持 1 反对 0

使用道具 举报

laoxie09 发表于 2015-6-24 03:05:45 | 显示全部楼层
这个题我面HULU的时候也碰到了,不过是manager和employee的层级。 当时建了树外加哈希表
回复 支持 1 反对 0

使用道具 举报

yrcyq 发表于 2015-6-23 10:11:10 | 显示全部楼层
这题应该是topological sort吧
回复 支持 反对

使用道具 举报

 楼主| qwewwwww 发表于 2015-6-23 14:50:36 | 显示全部楼层
yrcyq 发表于 2015-6-23 10:11
这题应该是topological sort吧

应该不需要这么复杂,直接建树就好
回复 支持 反对

使用道具 举报

yrcyq 发表于 2015-6-24 00:49:01 | 显示全部楼层
qwewwwww 发表于 2015-6-23 14:50
应该不需要这么复杂,直接建树就好

那你怎么知道从哪里开始啊,谁是根节点啊.万一它有环呢?
回复 支持 反对

使用道具 举报

 楼主| qwewwwww 发表于 2015-6-24 02:39:13 | 显示全部楼层
yrcyq 发表于 2015-6-24 00:49
那你怎么知道从哪里开始啊,谁是根节点啊.万一它有环呢?

因为当时题目告诉你了就只要child只会有一个parent,所以不会有环的
回复 支持 反对

使用道具 举报

yyboyz 发表于 2015-6-24 04:05:41 | 显示全部楼层
child 也是 String类型?
那你怎么表示很多个child?
回复 支持 反对

使用道具 举报

 楼主| qwewwwww 发表于 2015-6-24 05:29:21 | 显示全部楼层
yyboyz 发表于 2015-6-24 04:05
child 也是 String类型?
那你怎么表示很多个child?

我是这样做的,新建一个类,类里有一个linkedlist存所有的child
回复 支持 反对

使用道具 举报

yyboyz 发表于 2015-6-24 12:48:52 | 显示全部楼层
qwewwwww 发表于 2015-6-24 05:29
我是这样做的,新建一个类,类里有一个linkedlist存所有的child

Class R{
R parent;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
LinkedList<R> child;
}

你说的是这样的类吗?
String 是在哪里?
回复 支持 反对

使用道具 举报

 楼主| qwewwwww 发表于 2015-6-25 01:07:51 | 显示全部楼层
yyboyz 发表于 2015-6-24 12:48
Class R{
R parent;
LinkedList child;


Class R{
   String parent;
   String child;
}
tree的node是自己建的
回复 支持 反对

使用道具 举报

 楼主| qwewwwww 发表于 2015-6-25 01:08:48 | 显示全部楼层
glaciersilent 发表于 2015-6-24 13:50. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
这个为什么要用到tree呢? 我觉得iterate 然后对每个实例R建HashMap(Parent,ArrayList[children]),然后对 ...

当时没想这么多,觉得建树方便一点吧,空间上可能差不多
回复 支持 反对

使用道具 举报

yyboyz 发表于 2015-6-25 05:08:14 | 显示全部楼层
qwewwwww 发表于 2015-6-25 01:07

Class R{
   String parent;

. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

那你的parent 和child跟本身都不是同类啊
回复 支持 反对

使用道具 举报

 楼主| qwewwwww 发表于 2015-6-25 05:24:44 | 显示全部楼层
yyboyz 发表于 2015-6-25 05:08
. 1point3acres.com/bbs

那你的parent 和child跟本身都不是同类啊

parent 和child只是表明关系的变量名
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-6-25 08:22:51 | 显示全部楼层
为什么题目这么奇葩
回复 支持 反对

使用道具 举报

qiuxuxing007 发表于 2015-7-13 09:24:03 | 显示全部楼层
我觉得是不是这样的啊
class R{
      private String str;
      ArrayList<R> children=new ArrayList<R>();
     private R parent;
     public R(String str){
. 鍥磋鎴戜滑@1point 3 acres             this.str=str;
    }
}
但是如何建树呢?不懂,求指教
回复 支持 反对

使用道具 举报

swx1031 发表于 2015-7-14 04:08:47 | 显示全部楼层
parent 和 child都是string 的话怎么表示parent 和child的关系?
回复 支持 反对

使用道具 举报

dondon91 发表于 2016-4-1 12:42:59 | 显示全部楼层
总算大概明白了,class R表示的一条边,不是一个node,
Class R{
   String parent;
   String child;
} foo;
foo.parent = “node1"; foo.child = “node2”; 表示”node1“-->”node2"这么一个关系
回复 支持 反对

使用道具 举报

dimi 发表于 2016-4-1 12:47:44 | 显示全部楼层
建树, 打印输出。感觉就是這樣
回复 支持 反对

使用道具 举报

cx00001 发表于 2016-4-1 13:46:46 | 显示全部楼层
hashmap+tree 然后层次dfs打印?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 00:11

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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