【LeetCode热题100】【二分查找】搜索二维矩阵

题目链接:74. 搜索二维矩阵 - 力扣(LeetCode)

在一个有序二维数组里面查找元素,同【LeetCode热题100】【矩阵】搜索二维矩阵 II-CSDN博客

如果用二分查找,时间复杂度是log(mn),但是可以实现时间复杂度为O(m+n)的,从右上角开始查找,如果当前元素比目标小,说明应该在下面范围,矩阵压扁,如果当前元素比目标大,说明在左边范围,矩阵压扁,这样最多只需要遍历m+n个元素可以确定元素是否存在

复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int> > &matrix, int target) {
        int x = 0, y = matrix[0].size() - 1, n = matrix.size();
        while (x < n && y >= 0) {
            if (matrix[x][y] == target)
                return true;
            if (matrix[x][y] < target)
                ++x;
            else
                --y;
        }
        return false;
    }
};
相关推荐
心中有国也有家4 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
绝知此事4 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
碧海银沙音频科技研究院4 小时前
通话AEC与语音识别AEC的软硬回采链路
深度学习·算法·语音识别
csdn_aspnet5 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
m0_629494737 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
壹号用户8 小时前
用队列实现栈
数据结构·算法
做人求其滴8 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣
daad7778 小时前
记一组无人机IMU传感器数据
算法
计算机安禾8 小时前
【c++面向对象编程】第42篇:模板特化与偏特化:为特定类型定制实现
开发语言·c++·算法