algorithm - 如何找到矩阵中的最大 L 和?

标签 algorithm big-o dynamic-programming

这是另一个动态规划问题,在给定矩阵 (m x n) 中找到最大 L(chess horse - 4 item) 和

例如:

1 2 3

4 5 6

7 8 9

L : (1,2,3,6), (1,4,5,6), (1,2,5,8), (4,5,6,9) ...

最大的总和是 sum(L) = sum(7,8,9,6) = 30

最优解的 O(complexity) 是多少?

看起来像这样problem (submatrix with maximum sum)

  1. 说所有项目都是正面的

  2. 正反两面

欢迎任何想法!

最佳答案

如果您的 L 是恒定大小(如您所说,4 个元素),只需计算所有 < n*m 个位置的总和并找到最大的一个。重复您可能拥有的 8 个不同方向。总的来说是 O(nm)。

关于algorithm - 如何找到矩阵中的最大 L 和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497263/

相关文章:

c++ - shrink_to_fit() 与交换技巧

algorithm - 从左列到右列的路径的最大总和

algorithm - 数字选择游戏的贪心算法

arrays - 寻找最佳路径(如果存在)

c++ - 计算布隆过滤器的近似种群

algorithm - 压缩布隆过滤器

algorithm - 多变量的大 O 效率

algorithm - 邻居搜索算法

big-o - 扫描有限长度字符串的复杂性。 O(n) 还是 O(1)?

algorithm - 查找以特定元素结尾的最长递增子序列如何导致查找 LIS 的解决方案