力扣hot100 ——搜索二维矩阵 || m+n复杂度优化解法

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

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

解题思路:

借助行和列有序特性,不断按行或者列缩小范围;途中数字表示每次执行,不同颜色框出的范围就是每次缩小后的区域,由于不是按行就是按列缩小,所以时间复杂度就是O(m+n)

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        // 边界缩小查找
        // 从右上角开始缩小;先水平调整,然后竖直缩小
        // 借助行和列有序特性,不断按行或者列缩小范围;由于不是按行就是按列缩小,所以时间复杂度就是O(m+n)
        int rows = matrix.size(),clos = matrix[0].size(); // row 行上限  clo 列上限
        int row = 0,clo = clos - 1;
        if(target > matrix[rows-1][clos - 1]){
            return false;
        }
        while(row < rows && clo >= 0){
            if(matrix[row][clo] == target){
                return true;
            }
            else if(matrix[row][clo] > target){
                --clo;
            }
            else{
                ++row;
            }
        }
        return false;

    }
};
相关推荐
搞科研的小刘选手13 分钟前
【大连市计算机学会主办】第三届图像处理、智能控制与计算机工程国际学术会议(IPICE 2026)
图像处理·人工智能·深度学习·算法·计算机·数据挖掘·智能控制
人月神话-Lee15 分钟前
【图像处理】高斯模糊——最优雅的模糊算法
图像处理·人工智能·算法·ios·ai编程·swift
大熊背27 分钟前
双目拼接竖缝消除(ISP 分区锐化实操方案) 优化方案
人工智能·算法·双目拼接
_日拱一卒30 分钟前
LeetCode:105从前序与中序遍历序列构造二叉树
算法·leetcode·职场和发展
MicroTech202531 分钟前
微算法科技(NASDAQ :MLGO)发布基于NEQR技术的新型量子视频处理算法,重构智能视觉底层逻辑
科技·算法·音视频
techdashen33 分钟前
Async Rust 近况补课:从 `async-trait` 到原生 async trait
网络·算法·rust
oo哦哦35 分钟前
矩阵系统的流行病学密码:用SIR传染模型和基本再生数R₀,解释为什么你的100条种草内容,传播力还不如别人1条
线性代数·矩阵·r语言
一行代码一行诗++35 分钟前
循环的嵌套
数据结构·算法
玖釉-43 分钟前
C++ 中的矩阵介绍:以二维矩阵查找为例
c++·windows·算法·矩阵
ECT-OS-JiuHuaShan44 分钟前
存在是微分张量积,标量是参数但不可能是本质。还原论泛化,是语义劫持和以偏概全的逻辑谋杀伪科学庞氏骗局
数据库·人工智能·算法·机器学习·数学建模