【力扣hot100题】搜索二维矩阵II(16)

编写一个高效的算法来搜索 m xn 矩阵 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

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= n, m <= 300
  • -109 <= matrix[i][j] <= 109
  • 每行的所有元素从左到右升序排列
  • 每列的所有元素从上到下升序排列
  • -109 <= target <= 109
cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int m = matrix.size(), n = matrix[0].size();
        int x = 0, y = n - 1;
        while (x < m && y >= 0) {
            if (matrix[x][y] == target) {
                return true;
            }
            if (matrix[x][y] > target) {
                --y;
            }
            else {
                ++x;
            }
        }
        return false;
    }
};
相关推荐
阿Y加油吧几秒前
力扣打卡day09——缺失的第一个正数、矩阵置零
数据结构·算法·leetcode
2301_818419011 分钟前
C++中的状态模式实战
开发语言·c++·算法
仰泳的熊猫1 分钟前
题目2576:蓝桥杯2020年第十一届省赛真题-解码
数据结构·c++·算法·蓝桥杯
CSDN_kada4 分钟前
杭电网安复试编程Day23
c++·考研·算法
灰色小旋风8 分钟前
力扣16 最接近的三数之和(C++)
数据结构·c++·算法·leetcode
FMRbpm12 分钟前
前缀和与差分:总结与梳理
算法·前缀和·差分
2301_7665586519 分钟前
本地部署+云端优化:矩阵跃动龙虾机器人,实现7×24小时AI获客无人值守
人工智能·矩阵·机器人
Tisfy27 分钟前
LeetCode 3643.垂直翻转子矩阵:原地修改
算法·leetcode·矩阵·模拟
噜啦噜啦嘞好29 分钟前
算法篇:滑动窗口
数据结构·算法
无限进步_32 分钟前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio