public class Solution {
    public boolean Find(int target, int [][] array) {
    	// 无效输入:空指针
        if(array == null){
            return false;
        }
        // 整体思路:选择右上角的数与target进行比较,大于则去掉这一列,小于则去掉这一行
        // 时间O(n),空间O(1)
        int row = 0;
        int column = array[0].length - 1;
        while(row < array.length && column >= 0){
            if(array[row][column] == target)
                return true;
            else if(array[row][column] < target)
                row ++;
            else if(array[row][column] > target)
                column --;
            else
                return false;
        }
        return false;
    }
}