240 搜索二维矩阵

题目

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

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

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

示例 1:

输入:matrix = \[1,4,7,11,15,2,5,8,12,19,3,6,9,16,22,10,13,14,17,24,18,21,23,26,30], target = 5

输出:true

示例 2:

输入:matrix = \[1,4,7,11,15,2,5,8,12,19,3,6,9,16,22,10,13,14,17,24,18,21,23,26,30], target = 20

输出:false

思路

观察发现矩阵的右上角的一行,从左到右是递增的,从上到下是递增,于是可以根据右上角的值跟target对比来移动row或者col来找target的值。

代码

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        // 看矩阵右上角的元素即可,如果右上角的元素大了,就缩小col,反正缩小row
        int row=0,col=matrix[0].size()-1;
        while(row<matrix.size()&& col>=0){
            if(matrix[row][col]==target){
                return true;
            }
            else if(matrix[row][col]<target){
                row++;
            }
            else{
                col--;
            }
        }
        return false;
    }
};

感谢 感谢华南溜达虎 力扣hot 100

相关推荐
Bobolink_5 天前
TikTok矩阵账号如何批量养号?工作室级运营方案分享
矩阵·内容运营·跨境电商·tik tok·账号运营
H178535090965 天前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
AI_yangxi5 天前
短视频矩阵系统专业公司
大数据·人工智能·矩阵
昇腾CANN5 天前
【cann-samples系列】GroupedMatmul MX量化矩阵乘的深度性能优化实践
线性代数·性能优化·矩阵·昇腾·cann
青山木5 天前
Hot 100 --- 矩阵置零
线性代数·算法·leetcode·矩阵·哈希算法
Jasmine_llq5 天前
《B4264 [GESP202503 四级] 二阶矩阵》
线性代数·算法·矩阵·二维矩阵遍历枚举所有2×2矩阵·交叉乘积等式条件判断·输入输出快读加速·长整型防溢出计数统计
阿泽·黑核6 天前
05 keyflow 扩展设计方案:矩阵键盘/组合键/事件队列/中断驱动
线性代数·矩阵·计算机外设·嵌入式·agent·vibe coding
工头阿乐6 天前
相机坐标系标定与外参矩阵求解
数码相机·线性代数·矩阵
金色熊族7 天前
QTransform使用心得(二)--仿射变换、非仿射变换、矩阵
qt·线性代数·矩阵