【发布时间】:2014-12-03 11:06:50
【问题描述】:
我有这段代码用于从左到右和从右到左搜索多维数组。
我现在需要做的是从左上到右下,从右上到左下,从左下到右上,从右下到左上搜索数组。
我需要对现有方法进行哪些更改才能创建一种新方法来做我想做的事情?
// Left to Right
public static String findLeftToRight (char[][]board, String word) {
char[] letters = word.toCharArray();
for (int i = 0; i < board.length; i++){
for (int j = 0; j < board[i].length; j++) {
boolean found = true;
for (int k = 0; k < letters.length; k++) {
if ((j+k >= board[i].length) || (letters[k] != board[i][j+k])) {
found = false;
break;
}
}
if (found) {
return "String " + word + " found in row=" + i + " col=" +j;
}
}
}
return "String " + word + " not found";
} // end findLeftToRight
// Right to Left
public static String findRightToLeft (char[][]board, String word) {
char[] letters = word.toCharArray();
for (int i = board.length-1; i > -1; i--){
for (int j = board[i].length-1; j > -1; j--) {
boolean found = true;
for (int k = 0; k < letters.length; k++) {
if ((j - k < 0) || (letters[k] != board[i][j-k])) {
found = false;
break;
}
}
if (found) {
return "String " + word + " found in row=" + i + " col=" +j;
}
}
}
return "String " + word + " not found";
} // end findLeftToRight
【问题讨论】:
标签: java arrays search matrix multidimensional-array