74. 搜索二维矩阵

方法一:两次二分查找
cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>> matrix, int target) {
        auto row = upper_bound(matrix.begin(), matrix.end(), target, [](const int b, const vector<int> &a) {
            return b < a[0];
        });
        if (row == matrix.begin()) {
            return false;
        }
        --row;
        return binary_search(row->begin(), row->end(), target);
    }
};

方法二:一次二分查找

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int m = matrix.size(), n = matrix[0].size();
        int low = 0, high = m * n - 1;
        while (low <= high) {
            int mid = (high - low) / 2 + low;
            int x = matrix[mid / n][mid % n];
            if (x < target) {
                low = mid + 1;
            } else if (x > target) {
                high = mid - 1;
            } else {
                return true;
            }
        }
        return false;
    }
};

leetcode题解

相关推荐
BlackPercy20 小时前
【线性代数】基础版本的高斯消元法
线性代数·julia
金融OG1 天前
99.8 金融难点通俗解释:净资产收益率(ROE)
大数据·python·线性代数·机器学习·数学建模·金融·矩阵
木与长清1 天前
利用MetaNeighbor验证重复性和跨物种分群
矩阵·数据分析·r语言
肖田变强不变秃2 天前
C++实现矩阵Matrix类 实现基本运算
开发语言·c++·matlab·矩阵·有限元·ansys
洛水微寒2 天前
多张图片读入后组成一个矩阵。怎么读取图片,可以让其读入的形式是:ndarray(a,b,c)分别的含义:a为多少张图片,b*c为图片大小
线性代数·矩阵
金融OG2 天前
5. 马科维茨资产组合模型+AI金融智能体(qwen-max)识别政策意图方案(理论+Python实战)
大数据·人工智能·python·线性代数·机器学习·金融
fchampion3 天前
leetcode hot 100 -搜索二维矩阵
算法·leetcode·矩阵
golitter.3 天前
使用numpy求解线性代数相关问题
线性代数·numpy
夏尔Gaesar3 天前
pcm | Parity Check Matrix(奇偶校验矩阵)
算法·矩阵·pcm