java 解 二维数组中的查找

前提是你 提交于 2020-01-21 00:42:31

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

public class Solution {
    public boolean Find(int target, int [][] matrix) {
        if(matrix ==null ||matrix.length ==0||matrix[0].length ==0) //矩阵不为空,行不为0 ,列不为0
            return false; //返回不存在
        int r = 0;   //从第0行开始
        int cols  = matrix[0].length;//获取列的宽度
        int rows = matrix.length;//获取行的宽度
        int c = cols - 1;//列的遍历下标从 列宽度减一
        while(r<= rows-1 && c>=0     )    //行小于
        {
            if(target >matrix[r][c])//目标值大于当前值
                r++; //行数增加
            else if (target == matrix[r][c])
                return true; //找到对应的数字了
            else
                c--;//列数--
        
        }
        return false;
        
        
        
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!