题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
2022.0806算法第7题二维数组中的查找
二分查找的思想是每次查找都要缩减空间并且缩减空间时不能将潜在答案去除。
针对二维数组每次缩减的空间就是一行或者一列,这样也比暴力搜索强多了。
首先获取二维数组的行列,i行,j列,从右上角的元素开始比较(左下角也行)。
while(i<array.size()&&j>=0) { if(array[i][j]<target) i++; else if (array[i][j]>target) j--; else return true; } return false;然后和二分查找的思想一致,当前元素值小于目标值时,i++;大于目标值时,j--;
循环条件为行数和列数全部遍历。