你可能以前见过一些脑筋急转弯的排序问题:
在BrainBashers三项全能比赛的最新一轮中,Keith排名第四。Adrian不是最老的,但比Duncan年长,而Duncan不是第二。年龄次于最小孩子的孩子获得第二名。获得第三名的孩子比获得第一名的孩子年长。Billy比获得第三名的孩子年轻。你能确定谁获得了哪个名次并按年龄顺序排列孩子们吗?[来源] 我正在寻找一种算法方法来解决似乎非常相似的问题。
我有一组对象,想要根据它们之间的规则进行排序。对于给定的规则集,可能会有多个解决方案。在有效的解决方案中,所有规则都得到满足。一组规则也可能没有有效的解决方案。
例如:
对象:A、B、C、D、E和F
请注意,对象B与其他对象没有关系,因此它出现在序列中的位置无关紧要。
这肯定已经做过了。有人能指点我正确的方向吗?最终我将在Java中执行此排序。
相关问题:
在BrainBashers三项全能比赛的最新一轮中,Keith排名第四。Adrian不是最老的,但比Duncan年长,而Duncan不是第二。年龄次于最小孩子的孩子获得第二名。获得第三名的孩子比获得第一名的孩子年长。Billy比获得第三名的孩子年轻。你能确定谁获得了哪个名次并按年龄顺序排列孩子们吗?[来源] 我正在寻找一种算法方法来解决似乎非常相似的问题。
我有一组对象,想要根据它们之间的规则进行排序。对于给定的规则集,可能会有多个解决方案。在有效的解决方案中,所有规则都得到满足。一组规则也可能没有有效的解决方案。
例如:
对象:A、B、C、D、E和F
规则:
- C > A
- C < D
- F < C
- A > F
- E > F
- D > E
一个可能的解决方案:
F A C E D B
请注意,对象B与其他对象没有关系,因此它出现在序列中的位置无关紧要。
这肯定已经做过了。有人能指点我正确的方向吗?最终我将在Java中执行此排序。
相关问题:
Java部分有序集合<E>