java - 我正在尝试从右下角到左上角以垂直模式搜索我的java多维数组?我的代码有什么问题吗?

标签 java search multidimensional-array

我试图从右下角到左上角搜索我的java多维数组以查找垂直模式的单词,但它没有找到该单词。我做错了什么?

      public static String findBottomToTop(char[][] board, String word) {
        char[] letters = word.toCharArray();

        if (letters.length <= board.length) {
            int lettersIndex = 0;

            for (int i = board.length-1; i > -1; i--) {

                for (int j = board[i].length-1; j > -1; j--) {
                    if (board[i][j] == letters[0]) {
                        lettersIndex++;

                        for (int k = 0; k < letters.length; k++) {
                            if (j > board[k].length && board[k][j] == letters[lettersIndex]) {
                                lettersIndex++;

                                if (lettersIndex == letters.length) {
                                    return "String " + word + " found in row=" + i + " col=" + j;
                                }
                            } else {
                                // breaks
                                lettersIndex = 0;
                                break;
                            }
                        }
                    }// found first
                }
            }
        }
        return "String " + word + " not found";
    }

最佳答案

你需要切换

   for (int i = board[0].length-1; i > -1; i--) {

       for (int j = board.length-1; j > -1; j--) {

您想在最右边的角处一直循环到各行,然后向左移动并执行相同的操作。只需更改循环的逻辑即可。

关于java - 我正在尝试从右下角到左上角以垂直模式搜索我的java多维数组?我的代码有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26282615/

相关文章:

c++ - 可修改数组

java - 在 eclipse 之外运行 java 应用程序时出现安全异常

java - R 和 Java + WEKA 在计算最近邻方面的差异

java - Cordova android 应用程序,图像覆盖在摄像机上

python - 2D 或 3D 中的 Numpy trim_zeros

php - in_array() 和多维数组

java - 如何避免使用 Thread.Sleep

c++ - 递归搜索堆栈,但保持堆栈不变

python - 使用 numpy.searchsorted 后查找未排序的索引

algorithm - 子串算法