在2D(MxM)阵列中找到最长的线(垂直,水平或对角线)

时间:2018-09-22 05:18:18

标签: java matrix time-complexity

查找具有给定正方形(MxM)矩阵的最长行的长度。 (允许使用垂直,水平或对角线)(最长线的长度=连续1的数量)

即 输入:

sorted

输出:7(在这种情况下,水平的第四行是最长的线。)

我的Java代码:

{
{0,0,0,0,0,0,0,0},
{0,0,1,0,1,0,0,0},
{0,1,0,1,0,0,0,0},
{1,1,1,1,1,1,1,0},
{0,1,0,0,0,1,0,0},
{1,1,0,0,0,0,1,0},
{0,1,0,0,0,0,0,1},
{0,0,0,0,0,0,0,0}
}

我的代码似乎可以运行,但是我不确定这是否是最有效的代码。你觉得还好吗还是有更快或更简单的实现方式? (首选Java格式。)

1 个答案:

答案 0 :(得分:1)

我认为您需要使用回溯技术,因为它会在董事会中尝试所有可能的方式 请阅读有关回溯的信息