在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
思路:從數組左下角開始判斷,如果目标資料大于左下角數字,則列号右移(增加),若目标數字小于左下角數字,則行号上移(減小)
public class Solution {
public boolean Find(int target, int [][] array) {
int rowCount = array.length;
int colCount = array[0].length;
for(int i=rowCount-1, j=0; i >= 0&&j<colCount;){
if(target==array[i][j]){
return true;
}
if(target < array[i][j]){
i--;
continue;
}
if(target > array[i][j]){
j++;
continue;
}
}
return false;
}