mag*_*ter 8 java algorithm search ascii-art
是否有任何算法可以找到以下ASCII艺术图像?
+
+
+++
+++++++
++ ++
++ + ++
++ +++ ++
++ + ++
++ ++
+++++++
+++
Run Code Online (Sandbox Code Playgroud)
在下面的文本体内?
+ + + ++ + +++ + +
+ ++ + + ++++ + + + + + + +++ +++ +
+ + + ++ ++ ++ + ++ + + + + +
+ ++ + ++ + + + ++ ++ + +
++++++ + + + ++ + + + + ++ + + +
+ + + + + ++ + ++ + + + +
+++ + ++ + + + +++ + + ++ +
+++++ + + + + + + + +
+ + + + + + + + + + + +
++ + + + ++ + + + ++
Run Code Online (Sandbox Code Playgroud)
我必须突出显示黄色的ASCII艺术图像,它对应于完整的形状.见附图:

我必须搜索包含粗糙形状的文件,但不完全,+可能会丢失一些文件.+应该手动设置形状中缺失的容差.
现在,我有两个2D数组数据数组:[100] [100]和SlimeTorpedo数组:[13] [11].
@kjartan所述的如何进行检测的代码(3-4子弹):
int match = 0;
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
//Compare DataArr[i][j] with SlimeTorpedoArr[i][j]
//Look for "checked" position in the picture ("+"),
//which corresponds to a checked position in the
//slime torpedo array.
//match++;
}
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题的一般指导是什么?
假设您的第一个形状的宽度和高度参数(以字符数计)是已知的。让他们成为width和height。
int[][] inputBits = new int[height][width];并且应该正确填充它。(这是你的任务,伙计。)