近期论坛无法登录的解决方案


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

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

一个小时前刚结束的BB电面

[复制链接] |试试Instant~ |关注本帖
Littles 发表于 2016-5-13 23:13:11 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 博士 全职@Bloomberg - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
呜呜呜,一个小时前刚结束的BB电面,不堪回首

上来印度小哥介绍了下自己哪个部门干啥的,然后问了我的project, why BB等。
直接HackRanker码题。上来就让design class Family Tree,说一个家庭有1-2个人,每个人都有0-2个children,让开始设计class. 一脸懵逼,说好的Two sum呢
这个题目就表述的不太清楚,到底是设计啥玩意,问他他也讲不清楚。一开始我还想搞个Binary tree那样,但因为搞不清楚他到底想要什么,就瞎设计了一个Family class,. more info on 1point3acres.com
里面是数组People[] parents, People[] children,因为我以为他说的是一个family只有一层!各种乱改。。估计小哥看的崩溃了。
后来通过他让设计的问题了解到是要搞整个family有哪些人,其实就是拿个hashMap存这个family所有成员,每个成员是个单独的People class,里面有name和children...哥哥你是坑我嘛
然后就让设计一个method判断一个人是不是这个family的成员,然后一个method判断两个人是不是cousin....
第一次电面,加上一上来就懵逼,估计挂了。Move on了。。太挫了。准备的算法题全没用到。。. more info on 1point3acres.com


补充内容 (2016-5-17 23:53): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
过了,在安排onsite......

评分

3

查看全部评分

blackrose 发表于 2016-5-13 23:17:40 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
不同公司,相似经历,继续加油!希望好运来!
回复 支持 反对

使用道具 举报

 楼主| Littles 发表于 2016-5-13 23:20:47 | 显示全部楼层
关注一亩三分地微博:
Warald
blackrose 发表于 2016-5-13 23:17
不同公司,相似经历,继续加油!希望好运来!

心好累啊。小哥估计觉得我是智障。我一停顿他就开始巴拉巴拉地提醒,根本不给我时间考虑。
加油加油!
回复 支持 反对

使用道具 举报

llatjob 发表于 2016-5-14 02:36:09 | 显示全部楼层
这个算是二叉树变种吧,只是每个node可以有n 个children node,有两个parent node,然后就行了。一个family就是一个root node。查在不在family就是查在不在tree里面。查cousion就是查到common ancestor的距离是一样的
回复 支持 反对

使用道具 举报

llatjob 发表于 2016-5-14 02:36:59 | 显示全部楼层
llatjob 发表于 2016-5-14 02:36
这个算是二叉树变种吧,只是每个node可以有n 个children node,有两个parent node,然后就行了。一个family ...

或者再引入spouse
回复 支持 反对

使用道具 举报

 楼主| Littles 发表于 2016-5-14 06:47:02 | 显示全部楼层
llatjob 发表于 2016-5-14 02:36. more info on 1point3acres.com
这个算是二叉树变种吧,只是每个node可以有n 个children node,有两个parent node,然后就行了。一个family ...

一开始写的时候根本没有提到后面的一些用法,所以不知道他想干嘛。
查cousin还要查是不是本人,是不是兄弟姐妹。
回复 支持 反对

使用道具 举报

tianf 发表于 2016-5-22 07:19:28 | 显示全部楼层
这题有没有比较简单的方法?要用到inheritance吗?
回复 支持 反对

使用道具 举报

飞飞 发表于 2016-6-5 14:07:38 | 显示全部楼层
我觉的这题要用Unionfind吗?找cousin。。。 一听到题,首先问,你要实现什么function。。。。
回复 支持 反对

使用道具 举报

Jailf 发表于 2016-6-29 08:06:28 | 显示全部楼层
大概写了一个,因为Person和Family没有什么关系,就用了两个独立的类,Family的constructor暂时空着了。
通过查哈希表来判断 一个人是否是family的成员,但是有可能有重名的情况,所以就是用了一个名字对应一个set的结构。
cousion的话就是判断两个人的爸妈是不是sibiling
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
class Person
{
public:
        Person* father;. 鍥磋鎴戜滑@1point 3 acres
        Person* mother;.鐣欏璁哄潧-涓浜-涓夊垎鍦
        vector<Person*> children;
        string name;

        Person(string n, Person* f, Person* m, vector<Person*> c):name(n), father(f), mother(m), children(c){}
        ~Person();

};

class Family
{
public:
        Family();. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        ~Family();
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        bool isMember(Person* p){
                //search in the hasp map;.鏈枃鍘熷垱鑷1point3acres璁哄潧
                if (members.find(p->name) != members.end()){
                        return members[p->name].find(p) != members[p->name].end();
                }
                else
                        return false;. from: 1point3acres.com/bbs
        }. From 1point 3acres bbs
. 1point 3acres 璁哄潧
        bool areCousin(Person* a, Person* b){
                //their parents are brother or sister.
                return areSibling(a->mother, b->father) || areSibling(a->mother, b->mother) || areSibling(a->father, b->father) || areSibling(a->father, b->mother);
        }

        bool areSibling(Person *a, Person* b){
                //if they have same parent;
                if (a->father == b->father && a->mother == b->mother)
                        return true;
                else
                        return false;
        }

private:.1point3acres缃
        map<string, set<Person*>> members;  //same name
        Person *root1, *root2;
};
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-6-26 06:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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