【问题标题】:Comparing values in a 2-Dimensional Array with each other比较二维数组中的值
【发布时间】:2013-05-15 10:01:12
【问题描述】:

我今天参加了计算机科学考试。在这方面,我必须编写许多不同的算法。其中大多数我设法做到了,但第一个问题完全让我失望。

二维数组用于存储数独游戏的 3 * 3 网格中的数字。网格包含从 1 到 9 的数字。对于不熟悉数独的人,您只能在 3*3 网格中使用每个数字一次。 该问题要求我编写一个 checkGrid() 算法来比较数组中的值以检查是否有任何重复项。如果没有找到,应该输出“Success”,如果有double值,应该输出“Failure”。 我怎样才能做到这一点?我真的没有头绪。

我在考试中花了很多时间试图弄清楚这一点,但勉强完成了我的论文 -.- 当他们告诉你跳过一个你不知道回来的问题时,也许你应该听老师的话以后再说吧……

【问题讨论】:

标签: java arrays multidimensional-array comparison duplicates


【解决方案1】:

有很多选择,但我能想到的最简单的方法是使用Set

public void checkGrid(int[][] grid) {
    Set<Integer> set = new HashSet();
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            if (set.contains(grid[i][j])) {
                System.out.println("Failure");
                return;
            } else {
                set.add(grid[i][j]);
            }
        }
    }
    System.out.println("Success");
}

【讨论】:

  • 非常感谢。我永远不会想到这一点。现在我知道未来......
猜你喜欢
  • 2015-04-17
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多