美文网首页剑指 Offer Java版
剑指Offer Java版 面试题4:二维数组中的查找

剑指Offer Java版 面试题4:二维数组中的查找

作者: 孙强Jimmy | 来源:发表于2019-06-30 16:35 被阅读83次

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

    练习地址

    https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

    参考答案

    public class Solution {
        public boolean Find(int target, int [][] array) {
            if (array == null || array.length == 0 || array[0] == null || array[0].length == 0) {
                return false;
            }
            int row = 0, column = array[0].length - 1;
            while (row < array.length && column >= 0) {
                if (array[row][column] == target) {
                    return true;
                } else if (array[row][column] > target) {
                    column--;
                } else {
                    row++;
                }
            }
            return false;
        }
    }
    

    复杂度分析

    • 时间复杂度:O(n)。
    • 空间复杂度:O(1)。

    👉剑指Offer Java版目录
    👉剑指Offer Java版专题

    相关文章

      网友评论

        本文标题:剑指Offer Java版 面试题4:二维数组中的查找

        本文链接:https://www.haomeiwen.com/subject/nzybcctx.html