java – 对象分组的算法
我有以下课程:
class Sport { private String sportsName; private List<People> peopleWhoPlayThisSport; //... } class People { private String name; private long uniqueId; // ... } 我的输入是运动对象列表,为简单起见,请考虑以下示例: sport1 - Football,<Sam,Dylan> sport2 - Basketball,<Tyler,John> sport3 - Baseball,<Carter,Dylan> sport4 - Hockey,<Kane,Michael> sport5 - Soccer,Frank> 我必须创建一个列表< List<>>,这样内部列表就是所有具有至少一个普通玩家的体育项目(此处适用传递属性).在上面的例子中,输出应该是, <<sport1,sport3,sport5>,<sport2>,<sport4>> 有关解决此问题和/或伪代码的任何建议吗? 解决方法
对我来说听起来像图形问题.
我要做的是: >创建一个图形(无向),其中人是节点,到目前为止没有边缘 所以图表会以这种方式增长: >加工足球:Sam-Dylan 和“运动”: > Sam(足球),Dylan(足球,棒球),Carter(棒球,足球),Frank(足球)=> (足球,棒球,足球) ==> (足球,(篮球),(曲棍球) 编辑: >加工足球:Sam-Dylan(足球) 请注意,图表的使用不是必需的.您仍然可以使用简单的集合,但图表似乎是最干净的方法和算法最佳方式.它还允许进一步的可扩展性,因为它以自然的方式对数据进行建模 – 例如,您可以进一步找出Sam与Carter在一起的原因(因为他们的共同朋友Dylan与他们两人一起玩不同的运动). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |