【发布时间】:2019-06-20 12:05:19
【问题描述】:
我在我的项目中使用更大的数组,但为了简化,假设我们有这个 3x3 数组:
$a = Array( Array(1,2,3),
Array(4,5,6),
Array(7,8,9) );
我想找到每行包含一个值的总和的每个组合,即 1+4+7、1+4+8、1+4+9、1+5+7、1+5+8 , 1+5+9, 1+6+7, 1+6+8, 1+6+9, 2+4+7, 2+4+8, 2+4+9, 2+5+7, . ..
希望模式很明显。我首先尝试了一个嵌套循环(列,然后是行),但这并没有提供所有组合。经过一番搜索,我确信解决方案需要递归,但每次我尝试为此编写递归函数时,我都会感到困惑。
虽然非常感谢工作代码,但对我来说可能更重要的是了解问题和解决方案。
【问题讨论】:
-
如果您发布了无法工作的代码,也许有人可以帮助您了解问题所在。
-
我删除它正是因为它不起作用。我为理解这一点所做的大部分工作都写在纸上。
-
对于我们这样的初学者来说,解释起来并不容易。但是这个问题是找到到达矩阵左上角到右下角的最佳路径的精确匹配。对于上述场景,我们应该找到到达目的地的每条可能路径的距离。假设一名足球运动员在左上角,他需要以最小距离伸手到球门柱,因为您需要计算所有可能的距离并获得最小值。像那样你应该继续..如果你需要解决方案,请告诉我。我真的很乐意帮助你。谢谢顺便说一句。
-
潜在解决方案的一个重要因素是要知道数组的行在列数上是否全部相等(例如,方阵),如您的示例所示?
-
也许这会有所帮助:geeksforgeeks.org/… 适用于一维数组,但您可能会更好地理解这个问题。
标签: php recursion multidimensional-array