给定2D整数数组,其中0 =白色,1 =黑色,如下所示:
1110001
0110000
0011000
0101100
0100110
0100011
1000001
1011000
1011000
我想找到数组中的所有黑线。我不只是想要垂直水平和对角线,斜率为1.我可以做所有这些事情。我想找到一种方法来查找所有斜率的线(它可以包括我已经用它来减少代码的方式)。因此,如果您查看2D数组,您可以看到一条斜率为3的线,从[0,8](左下角)开始,然后到[2,0](中间的顶部)。我看了几个其他的列表,但它们似乎只是寻找我已经能够做的事情,或者没有找到找到这些线路的方法。
我使用Java进行编码,但C ++代码或者只是一个逻辑解释也会受到欢迎。
如果我的描述仍然过于宽泛,请以这种方式思考:我希望能够找到可以使用绘画中的线条工具创建的每一行。
答案 0 :(得分:0)
我认为我找到了一个解决方案,相对来说,至少可以以合理的成本获得我所寻找的大部分线路。请评论此解决方案中的任何缺陷。
如果此逻辑存在任何缺陷,请告知我们,如果可能的话,请提出替代方案。