1. 程式人生 > >牛客網劍指offer-01二維陣列的查詢

牛客網劍指offer-01二維陣列的查詢

題目描述
在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
一上來就想到用二分,後來看了大神們的程式碼,覺得自己還是太菜了。
只要從左下角往上或者右邊看,上面的都比這個數小,下面的都比這個數大,所以直接與目標比較,比目標大,指標上移,比目標小,指標下移,和目標一樣就返回true,當越陣列界時退出迴圈,並返回false。
附上自己寫的java程式碼
public class Solution {
public boolean Find(int target, int [][] array) {
int m=array.length-1;
int i=0;
while(m>=0&&i<=array[0].length-1)
{
if(array[m][i]>target)
m--;
else if(array[m][i]<target)
i++;
else
return true;
}
return false;
}
}