随机矩阵:从索引i,j找到相同的值

时间:2014-04-23 15:43:35

标签: java matrix

我尝试从玩家给出的特定点获取所有相同元素的位置。元素必须是两边的:只有列和线,而不是对角线。我必须得到更大的元素组的位置。

目标是获得最高分,即:

  • 玩家提供职位
  • 我必须在列表中获得所有这些职位
  • 告诉他得分(列表中元素的数量)
  • 然后在这些位置上随意进行1到2次
  • 向其他玩家展示新矩阵

所以,就我的代码而言,我可以在相同的行和列上拥有位置,但不是所有的位置。

这是我的代码:

    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

我希望你能理解我想要的东西,并为我糟糕的英语道歉。

1 个答案:

答案 0 :(得分:2)

这是一个4连接问题,要在其上加上名称。而你正在寻找最大的地区。这里http://en.wikipedia.org/wiki/Connected-component_labeling你有一些算法。 注意:m-connectivity和8-connectivity是对角线,小心点。