1. 程式人生 > >二維陣列中查詢整數

二維陣列中查詢整數

在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
題目連結

解題思路:
與右上角進行比較:若target比較小,則該整數不在該列;若target比較大,則該整數不在該行

public class Solution {
    public boolean Find(int target, int [][] array) {
        if(array.length == 0 || array[0].length == 0)return false;
        int rows = array.length-1;//行
        int cols = array[0].length-1;//列
        int i = 0;
        int j = cols;
        while(i <= rows && j >= 0){
            if(target > array[i][j]){
                i++;
            }else if(target < array[i][j]){
                j--;
            }else if(target == array[i][j]){
                return true;
            }
        }
        return false;
    }
}