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

相关推荐
naturerun1 天前
螺旋形遍历奇数阶矩阵
c++·算法·矩阵
05候补工程师1 天前
【线性代数】考研复习万字长文:从“工厂模型”到矩阵变换,重构线代底层逻辑
线性代数·考研·矩阵·重构
AI科技星1 天前
第 24 分册:濒死体验与灵魂出窍·数理修行篇(2026 年 5 月 11 日增补版)
人工智能·线性代数·机器学习·量子计算·agi
小雅痞1 天前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
Controller-Inversion2 天前
240. 搜索二维矩阵 II
线性代数·算法·矩阵
yong99902 天前
基于 STM32 的 4×4 矩阵键盘源码
stm32·矩阵·计算机外设
AI科技星2 天前
卷十二:奔跑吧水轮·环境能捕获与全域熵源 (正式典籍版)
人工智能·线性代数·机器学习·量子计算·agi
科研前沿2 天前
像素级实景映射,构建实景孪生底层新范式
科技·矩阵·音视频
Tisfy2 天前
LeetCode 1914.循环轮转矩阵:大模拟(数组原地轮转) —— 附O(1)空间版本
算法·leetcode·矩阵·大模拟
sheeta19983 天前
LeetCode 每日一题笔记 日期:2026.05.09 题目:1914. 循环轮转矩阵
笔记·leetcode·矩阵