美文网首页剑指 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