[编程题] 二维数组中的查找
4、二维数组中的查找
带行列中止验证的比较(自写)
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
for (int i = 0; i < matrix.length; i++) {
//列中止验证:如果这列上的第一个元素都已经大于target了,也就不比较了
if(matrix[i].length!=0 && matrix[i][0]>target){
return false;//这时候说明全局都找不到了
}
//行内比较
for (int j = 0; j < matrix[i].length; j++) {
//行中止验证 如果此行比较的元素已经明显大于target,就不比较这行了
if (matrix[i][j]>target){
break;
}
if (target==matrix[i][j]){
return true;
}
}
}
//跳出双for了就是没找到了
return false;
}
}
作者:beibicoder666
链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/dai-zhong-zhi-yan-zheng-de-bi-jiao-by-beibicoder66/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。