leetcode 240. 搜索二维矩阵 II

题目如下

数据范围

示例

复制代码
这道题可以从左下角开始搜索,我们令开始的地址为(x,y)由于矩阵的特性当m(x,y)
等于目标时自然直接返回,当大于目标时我们不可能向右边搜索因为向右是递增只能向上走
即x--,否则只能向右走因为所在这一列的最大值都小于目标了。
注意:当xy越界的时候必然找不到

通过代码

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int n = matrix.size();
        int m = matrix[0].size();
        int x = n - 1,y = 0;
        while(true){
            if(x < 0 || x >= n || y < 0 || y >= m){
                return false;
            }
            if(matrix[x][y] == target)return true;
            if(matrix[x][y] > target)x--;
            else y++;
        }
        return true;
    }
};
相关推荐
万添裁6 分钟前
huawei 机考
算法·华为·深度优先
IronMurphy7 小时前
【算法四十三】279. 完全平方数
算法
墨染天姬7 小时前
【AI】Hermes的GEPA算法
人工智能·算法
papership8 小时前
【入门级-数据结构-3、特殊树:完全二叉树的数组表示法】
数据结构·算法·链表
smj2302_796826528 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
山甫aa8 小时前
差分数组 ----- 从零开始的数据结构
数据结构
早日退休!!!8 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
Beginner x_u9 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
丑八怪大丑9 小时前
Java数据结构与集合源码
数据结构
c++之路10 小时前
C++信号处理
开发语言·c++·信号处理