我遇到了一个问题,它被要求找出在 2D 坐标平面中从点 1 到达点 2 的独特方式的数量。
注意:这可以假设而不失一般性x1 < x2
和y1 < y2
。
此外,运动被限制在以下方式中。一个人只能向右或向上移动。表示有效的移动是 from(xa, ya)
到(xb, yb)
ifxa < xb
和ya < yb
。
在数学上,这可以通过 找到( [(x2-x1)+(y2-y1)]! ) / [(x2-x1)!] * [(y2-y1)!]
。我也想过代码。
我有一些方法,我用动态编程进行编码,我的方法需要O([max(x2,y2)]^2)
时间Theta( x2 * y2 )
,我可以用上三角矩阵或下三角矩阵来管理。
你能想到其他一些运行时间少于这个的方法吗?我正在考虑一个递归解决方案,其中最小运行时间是O(max(x2,y2))
.