二维数组中之物色。二维数组中的寻。

问题:在一个二维数组中,每一行都按从左到右递增的各个排序,每一样列都随从上到下递增的依次排序。请好一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

问题:在一个二维数组中,每一行还循从左到右递增的逐条排序,每一样排都随从上到下递增的依次排序。请完一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

 1  2  8  9

 1  2  8  9

2  4  9  12

2  4  9  12

4  7  10  13

4  7  10  13

思路:

思路:

冲数组的特征,从右侧上较量开始查找(也不过由左下角),若超过,则为生,若小于,则为左。如搜寻上面数组中的7,从9起,9>7,往左移一各项到8,8>7,再朝着左移一个到2,2<7,往生换一员至4,4<7,再往下转移一号得7==7。

依据数组的特性,从右边上比赛开始查找(也可是打左下角),若超过,则为下,若小于,则于左。如搜寻上面数组中的7,从9始,9>7,往左移一各至8,8>7,再往左移一员至2,2<7,往下换一位到4,4<7,再朝着生转移一各类得7==7。

 

 

参照代码:

参考澳门网上娱乐代码:

public class Solution {
    public boolean Find(int target, int [][] array) {
        int row = array.length;
        int colum = array[0].length;
        for(int i=0;i<row;i++){
            for(int j=colum-1;j>=0;j--){
                if (target == array[i][j]){
                    return true;
                   }else if(target < array[i][j]){
                    continue;
                }else{
                    break;
                }
            }
        }
        return false;

    }
}
public class Solution {
    public boolean Find(int target, int [][] array) {
        int row = array.length;
        int colum = array[0].length;
        for(int i=0;i<row;i++){
            for(int j=colum-1;j>=0;j--){
                if (target == array[i][j]){
                    return true;
                   }else if(target < array[i][j]){
                    continue;
                }else{
                    break;
                }
            }
        }
        return false;

    }
}