我有一个数组:
$data = array(
1 => array(
"time" => 1,
"parent" => array(4)
),
2 => array(
"time" => 3,
"parent" => array(4, 5)
),
3 => array(
"time" => 2,
"parent" => array(6)
),
4 => array(
"time" => 1,
"parent" => array(6)
),
5 => array(
"time" => 1,
"parent" => array(4)
),
6 => array(
"time" => 1,
"parent" => array()
)
);
key是一个元素的id,parent是一个元素数组,指的是元素id,time就是一个整数。
这是给定数组的图示示例:
左下角的整数是“id”,中间的整数是“time”。
我的目标是找到这个数组最耗时的路径。在给定的示例中,路径将是 2->5->4->6 (id wise),导致总共 6 个“时间”。在纸上看起来很容易,但是我似乎无法编写算法来获取最耗时路径的元素。我将不胜感激任何帮助。
我认为算法应该是一种蛮力式的,并检查所有可用的选项。因此,对于给定的数组,它会像:
1 -> 4 -> 6 = 3
2 -> 4 -> 6 = 5
2 -> 5 -> 4 -> 6 = 6
3 -> 6 = 3
4 -> 6 = 2
5 -> 4 -> 6 = 3
提前致谢。