《剑指Offer》系列一——二维数组中的查找

《剑值Offer》第一课

每天一道题,前进一小步。

二维数组中的查找

题目
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

思路
1.题目主要考察的是二维数组的遍历问题,想想数组遍历的常用方法有哪些?
2.最简单的应该是for循环,此题就采用for循环来进行解答
3.二维数组,采用两个for循环分别遍历,外层for取行,内层for取列
3.然后定义一个boolean类型的基本类型,初始值为false
4.进行判断,当数组中有数据与整数相等,则将boolean类型变成true返回,反之直接返回初始值
5.话不多说,直接上代码…

代码

/*
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,
每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
 */
public class DoubleArrayDemo01 {
    
    
    public boolean Find(int target, int [][] array) {
    
    
        boolean a = false;//定义初始布尔值
        for (int i = 0; i < array.length; i++) {
    
    //外层循环——行
            for (int j = 0;j<array.length;j++){
    
    //内层循环——列
                if(array[i][j]==target)//判断相等
                    a = true;//若相等,赋值为true
            }
        }
        return a;//返回布尔值
    }
}

结语:本题主要考察二维数组的遍历,方法千千万,本人还是倾向使用for循环遍历。

猜你喜欢

转载自blog.csdn.net/weixin_43419256/article/details/105231822