题解 | #二维数组中的查找#
二维数组中的查找
http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
public class Solution {
public boolean Find(int target, int [][] array) {
//获取二维数组的行
int row = array.length-1;
//获取二维数组的列
int col = array[0].length-1;
//定位到左下角
int i=row,j =0;
//当 0<=i<=row 和 0<=j<=col 时循环
while(i<=row&&i>=0&&j<=col&&j>=0){
//如果目标值大于数组中的值,说明目标值在当前数组位置的右边,所以列j++
if(target > array[i][j]) j++;
//同理,目标值小于数组当前值的话,说明目标值在当前值的上一行,所以 i--;
else if(target < array[i][j]) i--;
else if(array[i][j]==target) return true;
}
return false;
}
}