1、二维数组中的查找

二维数组中的查找

public boolean Find(int target, int [][] array) {
    if(array==null || array.length==0){
        return false;
    }
    int m = array.length;
    int n = array[0].length;

    //从该二维数组的右上角 (0,n-1) 位置开始查找
    //类似二分查找
    for(int i=0,j=n-1;i<m && j>=0;){
        if(array[i][j]==target){
            return true;
        }else if(array[i][j]<target){ //(array[i][j] 值小了,向下移动值才会变大
            i++;
        }else{
            assert array[i][j]>target;
            j--;
        }
    }
    return false;
}

https://www.mianshi.onlinehttps://www.i9code.cn

本文由博客一文多发平台 OpenWrite 发布!

逃跑的眼镜_bvbEK5
7 声望0 粉丝