[leetcode] 74. 搜索二维矩阵

Posted ACBingo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] 74. 搜索二维矩阵相关的知识,希望对你有一定的参考价值。

74. 搜索二维矩阵

就是一个二分查找

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m = matrix.length;
        if (m == 0) {
            return false;
        }
        int n = matrix[0].length;
        if (n==0){
            return false;
        }
        int cnt = m * n;
        if (target > matrix[m - 1][n - 1]) {
            return false;
        }
        if (target < matrix[0][0]) {
            return false;
        }


        int l = 0;
        int r = cnt - 1;
        int mid = (l + r) / 2;
        while (l <= r) {
            if (get(matrix, mid, m, n) == target) {
                return true;
            }
            if (get(matrix, mid, m, n) > target) {
                r = mid - 1;
            } else {
                l = mid + 1;
            }
            mid = (l + r) / 2;
        }
        return false;

    }

    // 返回矩阵中的第i个数
    int get(int[][] matrix, int i, int m, int n) {
        int p = i / n;
        int q = i % n;
        return matrix[p][q];

    }
}

以上是关于[leetcode] 74. 搜索二维矩阵的主要内容,如果未能解决你的问题,请参考以下文章

[JavaScript 刷题] 二分搜索 - 搜索二维矩阵, leetcode 74

[JavaScript 刷题] 二分搜索 - 搜索二维矩阵, leetcode 74

[leetcode] 74. 搜索二维矩阵

Leetcode 74.搜索二维矩阵

leetcode(74)----搜索二维矩阵(二分查找)

LeetCode 74.搜索二维矩阵