搜索二维矩阵Ⅱ 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)

相关推荐
平凡灵感码头18 小时前
经典按键扫描程序算法实现方式
单片机·矩阵·计算机外设
sulikey19 小时前
C++ 四十年:一段跨越时代的语言旅程
c++·c++40周年
-森屿安年-19 小时前
LeetCode 283. 移动零
开发语言·c++·算法·leetcode
散峰而望19 小时前
C++数组(一)(算法竞赛)
c语言·开发语言·c++·算法·github
FuckPatience1 天前
C++ 常用类型写法和全称
开发语言·c++
__BMGT()1 天前
参考文章资源记录
开发语言·c++·qt
ouliten1 天前
C++笔记:std::string_view
开发语言·c++·笔记
玫瑰花店1 天前
万字C++中锁机制和内存序详解
开发语言·c++·算法
D_evil__1 天前
[C++高频精进] 文件IO:文件流
c++
西幻凌云1 天前
认识STL序列式容器——List
开发语言·c++·stl·list·序列式容器