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

相关推荐
hansang_IR16 小时前
【题解】P5364 [SNOI2017] 礼物
c++·线性代数·算法
TKcloudmaster_H20 小时前
告别低效运营:跨境数据分析 + 多账号矩阵增效方案
大数据·矩阵·数据挖掘·数据分析·新媒体运营·产品运营·流量运营
IT小白杨1 天前
多店铺防关联指纹浏览器哪个好:从账号关联判定模型到环境隔离架构的一次拆解
经验分享·物联网·矩阵·架构·指纹浏览器
吴声子夜歌4 天前
ApacheCommons——commons-math3(科学计算与线性代数)(一)
java·线性代数·算法·apache
AI_yangxi4 天前
口碑好的短视频矩阵系统
线性代数·矩阵
微三云生态系统架构师-彭丹5 天前
矩阵拼团系统设计:先付款先排队的订单排序与自动返本算法
线性代数·算法·矩阵
致远ccc6 天前
无人直播和真人直播有什么区别?如何用 DuoPlus 云手机搭建直播矩阵?
矩阵·无人直播·tiktok·云手机
张欣-男6 天前
5分钟理解线性代数v2
人工智能·线性代数·机器学习
张欣-男6 天前
3分钟理解线性代数
线性代数·算法
段一凡-华北理工大学6 天前
高炉智能布料技术与炉料分布优化~系列文章03:布料矩阵解码:环位、角度、圈数与料流的量化控制
java·网络·人工智能·矩阵·高炉智能化·高炉布料矩阵优化·高炉智能布料技术