劍指offer / 阿里面試題--二維有序數組查找一個值

在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。

從左下角或者右上角作爲插入的入口是解題的關鍵

public class TwoDimentionArraySearch {
    public boolean Find(int target, int[][] array) {
    //[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]

        int i = array.length - 1, j = 0;
        while (i >= 0 && j < array[0].length) {
            if (array[i][j] == target)
                return true;
            else if (array[i][j] > target)
                i--;
            else {
                j++;
            }
        }
        return false;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章