题解 | 二维数组中的查找
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param target int整型
* @param array int整型二维数组
* @return bool布尔型
*/
public boolean Find (int target, int[][] array) {
return search(target, array, array.length - 1, 0);
}
/**
* 从左下角开始搜索,
* 如果当前值大于target则往上走一格
* 如果当前值小于target则往右走一格
* 相等就直接返回true
*/
static public boolean search(int target, int[][] array, int i, int j) {
//越界了
if (i < 0) {
return false;
}
//越界了
if (j > array[0].length - 1) {
return false;
}
if (array[i][j] == target) {
return true;
}
if (array[i][j] > target) {
//往上走一格
return search(target, array, i - 1, j);
} else if (array[i][j] < target) {
//往右走一格
return search(target, array, i, j + 1);
}
return false;
}
}
查看6道真题和解析