【发布时间】:2018-04-12 16:00:48
【问题描述】:
我正在研究一种在单词拼图网格上查找单词的方法。
字母被放在一个矩阵中。该方法应该打印出找到单词的第一个字母的行和列以及模式进入的方向(n、s、e、w、ne、nw、se、sw)。
我目前的方法是:
public static String wordSearch(int r, int c, String letters, String search){
int x[] = { -1, -1, -1, 0, 0, 1, 1, 1 };
int y[] = { -1, 0, 1, -1, 1, -1, 0, 1 };
char [][] puzzle = new char [r][c];
int count = 0;
for (int i = 0; i < r; i++){
for (int j = 0; j < c; j++){
puzzle[i][j] = letters.charAt(count);
count++;
}
}
int length = search.length();
for (int dir = 0; dir < 8; dir++)
{
int k;
int rd = r + x[dir];
int cd = c + y[dir];
for (k = 1; k < length; k++)
{
rd += x[dir];
cd += y[dir];
}
if (k == length)
return rd+ ", "+cd;
}
return "Not found";}
问题是找出如何返回模式的方向以及单词的第一个字母(它只通过了一个测试用例)。但是,我确信该方法可以判断单词是否在网格中。
【问题讨论】:
标签: java arrays matrix methods