我尝试从玩家给出的特定点获取所有相同元素的位置。元素必须是两边的:只有列和线,而不是对角线。我必须得到更大的元素组的位置。
目标是获得最高分,即:
所以,就我的代码而言,我可以在相同的行和列上拥有位置,但不是所有的位置。
这是我的代码:
if(y > 0)
if(grille[x][y] == grille[x][y-1])
unvisited.add(new Coord(x, y-1));
// position dessous
if(y < len-1)
if(grille[x][y] == grille[x][y+1])
unvisited.add(new Coord(x, y+1));
我无法找到其他要点......
我尝试将列表取消访问,对于我按行和列搜索的每个元素,然后添加到访问,从未访问中删除,而未访问的不是空的,但我不能有一个好的结果..
输出错误:
Exception in thread "main" java.util.ConcurrentModificationException
我希望你能理解我想要的东西,并为我糟糕的英语道歉。
答案 0 :(得分:2)
这是一个4连接问题,要在其上加上名称。而你正在寻找最大的地区。这里http://en.wikipedia.org/wiki/Connected-component_labeling你有一些算法。 注意:m-connectivity和8-connectivity是对角线,小心点。