```public class Solution {
public boolean Find(int target, int [][] array) {
int rows = array.length;
int columns = array[0].length;
int row = rows-1;
int column = 0;
while (row >= 0 && column < columns) {
if (target < array[row][column]) {
row--;
} else if (target > array[row][column]) {
column++;
} else {
return true;
}
}
return false;
}
}
解题思路:
二维数组从左到右,从上到下依次递增,则左下角元素最有特点,该元素向右元素值都大于该元素,向下元素值都小于该元素。以左下角元素为依据,循环遍历二维数组;若元素值大于该元素,则列索引值增加;若元素值小于该元素,则行索引值减少;否则找到元素。