假设我有以下项目:
1;2;3;4;5;[1,2];[3,4];[1,2,3];[2,3,4]
(注意:我没有提供所有排列,只是其中的一部分)
每个项目都有与之相关的分数。 现在的任务是从可用部分构建序列:
1,2,3,4,5
创建序列的方法有很多种:
the simplest : 1,2,3,4,5
or : [1,2],[3,4], 5
or : 1,[2,3,4], 5
or : [1,2],[3,4],5
or : ........
正确的序列应该是得分最高的序列。
你会怎么做? 图形?
答案 0 :(得分:1)
使用递归过程来浏览图表。每个子序列是一个节点。边连接节点,其中源节点的结束整数与目标节点的第一个整数相邻。
例如,你有[1]到[2]和[2,3,4]的边。你也有[1,2]到[3]和[3,4]的边缘。
这减少了Dijkstra算法的问题,找到了带加权边的图的最佳路径。