加拿大华人论坛 加拿大生活信息有一道Java面试题能不能帮我看看?



在加拿大


今天online test,问了我一道Java面试题,‘Person’ class 有String name, int age, char sex, Person spouse, Person mother, Person father, List<Person> children, 让我写method,找到list of all older sisters和list of all ancestors,这道题主要想考察什么?怎么写比较好?

评论
面向对象+树的遍历

评论
多少悲剧多少爱.....面向对象+树的遍历点击展开...比这还简单,不明白lz的困惑在那里,这个不是3秒一拍脑袋就好了,基本连算法都不用考虑么,list of all older sisters不是简单获取parent的children集合,然后2个集合一合并,过滤就完事。list of all ancestors一个递归就完事了,java里面没有花头,jdk里面的方法就搞定了,如果是c你还可以考虑多一点。这个这么简单基本也没有什么太多算法的考量。

评论
A brave new world :cool:比这还简单,不明白lz的困惑在那里,这个不是3秒一拍脑袋就好了,基本连算法都不用考虑么,list of all older sisters不是简单获取parent的children集合,然后2个集合一合并,过滤就完事。list of all ancestors一个递归就完事了,java里面没有花头,jdk里面的方法就搞定了,如果是c你还可以考虑多一点。这个这么简单基本也没有什么太多算法的考量。点击展开...但是当前的person是树中的一个子节点,从一个子节点出发,要遍历比他层次高的所有节点,这怎么做?我的理解有问题?

评论
10多年前学过basic和foxbase的小声说:不就是根据对应变量排序吗?小板凳观察学习ing...

评论
Je pense, donc je suis. 2014-12-02#6 D 5,841 $0.00 我的java比较差,但只说算法,随便说说我的想法。这不是考二叉树的遍历,一个父母会有不止两个孩子啊。而且这个类已经给出父母和孩子。我感觉list of older sisters,可以直接存取父母的孩子,从中找出older sisters。但是要注意父亲和母亲都要分别取children然后取合集,以防有同父异母或同母异父的情况漏算了。Ancestor就是递归了。

评论
DancingElf 说:我的java比较差,但只说算法,随便说说我的想法。这不是考二叉树的遍历,一个父母会有不止两个孩子啊。而且这个类已经给出父母和孩子。我感觉点击展开...对的,这个不是二叉树,这个需求在java里面根本不用考虑特别的算法,这个类已经给出了父母和孩子,简单“递归”即可。如果还不懂,我只能说“呵呵”,难道还要我给贴代码讲解么。。。

评论
A brave new world :cool:对的,这个不是二叉树,这个需求在java里面根本不用考虑特别的算法,这个类已经给出了父母和孩子,简单“递归”即可。如果还不懂,我只能说“呵呵”,难道还要我给贴代码讲解么。。。点击展开...手机打字好难,写到一半不小心按错键就发了。link乱跳,算了我睡觉吧。祝楼主好运

评论
同父异母的算不算?sister in law算不算?

评论
fieldmarshal 说:对的,这个不是二叉树,这个需求在java里面根本不用考虑特别的算法,这个类已经给出了父母和孩子,简单“递归”即可。如果还不懂,我只能说“呵呵”,难道还要我给贴代码讲解么。。。点击展开...你一说我糊涂了,怎么是递归了?每一个人都有父有母,把家谱反着看好像也是binary tree吧,如果要祖先定义为父的父,父的母,母的父,母的母,是不是应该用tree traversal呢?

评论
楼主我实在是不懂, 如果懂的话我可以给你贴代码, 看样子这对你面试挺重要的. 你这个帖子贴到讨论专业的网站估计更容易吧, 看上面有懂的人牛X死了, 说话也够横.

评论
sallay 说:你一说我糊涂了,怎么是递归了?每一个人都有父有母,把家谱反着看好像也是binary tree吧,如果要祖先定义为父的父,父的母,母的父,母的母,是不是应该用tree traversal呢?点击展开...Yes for ancestor you can take it as a reversed.binary tree.But tree traversal is recursion.

评论
fieldmarshal 说:对的,这个不是二叉树,这个需求在java里面根本不用考虑特别的算法,这个类已经给出了父母和孩子,简单“递归”即可。如果还不懂,我只能说“呵呵”,难道还要我给贴代码讲解么。。。点击展开...请给贴一个代码。

评论
递归大概是下面这个意思。代码:public Set<Person> getAncestors() { if(mother == null || father == null) return new HashSet<Person>(); else return mother.getAncestors().addAll(father.getAncesters()).add(mother).add(father);}

评论
sallay 说:今天online test,问了我一道Java面试题,‘Person’ class 有String name, int age, char sex, Person spouse, Person mother, Person father, List<Person> children, 让我写method,找到list of all older sisters和list of all ancestors,这道题主要想考察什么?怎么写比较好?点击展开...

评论
sallay 说:今天online test,问了我一道Java面试题,‘Person’ class 有String name, int age, char sex, Person spouse, Person mother, Person father, List<Person> children, 让我写method,找到list of all older sisters和list of all ancestors,这道题主要想考察什么?怎么写比较好?点击展开...

评论
DancingElf 说:我的java比较差,但只说算法,随便说说我的想法。这不是考二叉树的遍历,一个父母会有不止两个孩子啊。而且这个类已经给出父母和孩子。我感觉list of older sisters,可以直接存取父母的孩子,从中找出older sisters。但是要注意父亲和母亲都要分别取children然后取合集,以防有同父异母或同母异父的情况漏算了。Ancestor就是递归了。点击展开... 我说了是树的遍历并没有说这个是二叉树。。。。恩

评论
多少悲剧多少爱.....赞反馈:黛绮丝 2014-12-02#18 A 3,070 $0.00 这么简单你都不会

评论
mark

评论
asdfg12345678 说:这么简单你都不会点击展开...我也不会

  ·中文新闻 迈尔圣诞活动被取消后,尽管越来越多的人呼吁在维多利亚州建
·中文新闻 昆士兰州警官据称在班达伯格肇事逃逸中被偷来的汽车撞倒,青

加拿大生活信息-加拿大

加拿大老人金

华人网大家好: 我父母來了加拿大都已經十年啦,開始準備申請加拿大老人金。 本人對這項福利都還好迷茫,希望各位多多指教, 多謝!本人父母居住加拿大已經十年,過去十年,沒有工作 ...

加拿大生活信息-加拿大

不想在温哥华了想去农村

华人网不想在大城市了,从出生到现在一直在大城市,来到温哥华,这房价和工资的不对等更搞得无法呼吸。来加拿大又不是奔着这些来的,加上本人很佛系,现在就梦想找一份WFH的工作到乡 ...

加拿大生活信息-加拿大

从首尔转机回加拿大

华人网今天送老公先回加拿大,从沈阳出发经首尔当天飞多伦多。 给老公买的是沈阳至首尔 大韩航空的 从首尔到多伦多 加拿大航空 行李在沈阳可以直挂到多伦多 给了两段航程的登机牌 行李 ...

加拿大生活信息-加拿大

赏花:蒲公英晚期?

华人网郁金香正在凋谢,蒲公英也进入最后的一搏。这个时候,她们已经不像小黄花绽放时那么可爱了(应该说多数人是这么感觉的),但仔细观赏,我还是很喜欢的。心中喜乐,到处都是美 ...