一次循环 从左下角出发

public class Solution {
    public boolean Find(int target, int [][] array) {
        if(array==null) return false;
        if(array.length==0||array[0].length==0) return false;
        int n=array.length, m=array[0].length;
        int x=n-1, y=0;
        while(x>=0&&y<m){
            if(array[x][y]>target) x--;
            else if(array[x][y]<target) y++;
            else return true;
        }
        return false;
    }
}

也可以从右上角出发,写法是差不多的。

int x=0, y=m-1;