在数组php中找到两点之间的链接路径

时间:2019-03-11 09:48:56

标签: php

我想从连接两个点的数组中找到可能的选项。

例如。

ReceiveMessage

$startPoint = 1;

$endPoint = 5;

函数应返回

$points = [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 5] [4, 3], [1, 4], [1, 3], [1, 5], [1, 6]];

最好添加一个可能的选项限制,例如。如果最多允许3种组合,则该函数将返回

$possibleOptions = [[1, 5], [[1, 4], [4, 5]], [[1, 6], [6, 5]], [[1, 2], [2, 3], [3, 4], [4, 5]]]

$possibleOptions = [[1, 5], [[1, 4], [4, 5], [[1, 6], [6, 5]]总共有4种组合。

我尝试遍历数组并首先找到直接匹配项。如果未找到直接匹配项,我将再次遍历点并创建一个新数组,其中所有以起点为第一个值的点。然后,我检查新数组是否具有最后一个值为端点的元素。但是,我觉得它是重复的代码,可以进行优化,因为我必须重复代码以获取最大数量的组合。只是不确定如何...

这是我的代码示例:

[[[1, 2], [2, 3], [3, 4], [4, 5]]]

0 个答案:

没有答案