搜索二维矩阵Ⅱ C++

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

每行的元素从左到右升序排列。

每列的元素从上到下升序排列。

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int rows = matrix.size();      // 行数
        int cols = matrix[0].size();   // 列数
        int x=0;
        int y=cols-1;
        // 从右上角开始
        while(x<rows && y>=0){
            if(matrix[x][y] == target)     // 找到,返回
                return true;
            else if(matrix[x][y] > target)   // 当前值比目标值大,则继续往左找
                y--;
            else if(matrix[x][y] < target)   // 当前值比目标值小,则继续往下找
                x++;
        }
        return false;
    }
};

时间复杂度O(m+n)

相关推荐
源代码•宸8 分钟前
深入浅出设计模式——创建型模式之单例模式 Singleton
开发语言·c++·经验分享·单例模式·设计模式
蒋星熠2 小时前
字母异位词分组(每天刷力扣hot100系列)
开发语言·c++·算法·leetcode·职场和发展
Darkwanderor2 小时前
哈希相关的模拟实现
数据结构·c++·算法·哈希算法
Murphy_lx3 小时前
C++多态的原理
java·开发语言·c++
Tjyuking4 小时前
OS架构整理
运维·c++·缓存·架构·操作系统
dllmayday4 小时前
3D空间中的变换矩阵
线性代数·3d·矩阵
程序员编程指南4 小时前
Qt 移动应用发布与分发指南
c语言·开发语言·c++·qt
x晕x4 小时前
Qt 消息弹窗 Toast
linux·c++·windows·qt·mac
刚入坑的新人编程4 小时前
暑期算法训练.11
数据结构·c++·算法·leetcode·链表
程序员编程指南4 小时前
Qt 与物联网(IoT)开发
c语言·开发语言·c++·qt·物联网