在三个二维数组中,往左移一位到8

 1  2  8  9

思路:

2  4  9  12

4  7  10  13

据书上说数组的风味,从右上角开端查找(也可从左下角),若高于,则往下,若小于,则往左。如搜寻上面数组中的7,从9方始,9>7,往左移一人到8,8>7,再往左移一个人到2,2<7,往下移1位到4,4<7,再往下移一位得7==7。

题材:在多少个二维数组中,每一行都依据从左到右递增的一一排序,每一列都听从从上到下递增的各样排序。请实现叁个函数,输入那样的二个二维数组和一个平头,判断数组中是还是不是含有该整数。

标题:在多个二维数组中,每一行都依照从左到右递增的各类排序,每一列都遵从从上到下递增的逐条排序。请完结一个函数,输入那样的多少个二维数组和多个平头,判断数组中是或不是含有该整数。

 1  2  8  9

思路:

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;

    }
}

 

2  4  9  12

4  7  10  13

参考代码:

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;

    }
}

 

 

 

参照代码:

据他们说数组的表征,从右上角开端查找(也可从左下角),若高于,则往下,若小于,则往左。如搜寻上边数组中的7,从9起先,9>7,往左移一位到8,8>7,再往左移一人到2,2<7,往下移壹位到4,4<7,再往下移一个人得7==7。

相关文章