1、代码

(1)从数列的右上数开始

(2)确保数组不要越界

public class Solution {
    public boolean Find(int target, int [][] array) {
        //初始列从最后一列开始
        int arrayColumn=array[0].length-1;
        //初始行从第一行
        int arrayRow=0;
        //初始化返回值
        boolean findFlag=false;
        //查找的结束标志,并确保数组不要越界
        while(!findFlag&&arrayRow<array.length&&arrayColumn>=0){
            if(array[arrayRow][arrayColumn]==target){
                findFlag=true;
            }else if(array[arrayRow][arrayColumn]>target){
                arrayColumn--;
            }else{
                arrayRow++;
            }
        }
        return findFlag;

    }
}

2、复杂度

时间复杂度:O(行数+列数)

空间复杂度:O(1)