加拿大华人论坛 加拿大生活信息有一道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 比这还简单,不明白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 对的,这个不是二叉树,这个需求在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 说:这么简单你都不会点击展开...我也不会
·中文新闻 迈尔圣诞活动被取消后,尽管越来越多的人呼吁在维多利亚州建
·中文新闻 昆士兰州警官据称在班达伯格肇事逃逸中被偷来的汽车撞倒,青