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;
    }
};
相关推荐
有泽改之_5 小时前
leetcode146、OrderedDict与lru_cache
python·leetcode·链表
im_AMBER5 小时前
Leetcode 74 K 和数对的最大数目
数据结构·笔记·学习·算法·leetcode
t198751285 小时前
电力系统经典节点系统潮流计算MATLAB实现
人工智能·算法·matlab
断剑zou天涯5 小时前
【算法笔记】蓄水池算法
笔记·算法
长安er6 小时前
LeetCode 206/92/25 链表翻转问题-“盒子-标签-纸条模型”
java·数据结构·算法·leetcode·链表·链表翻转
Benmao⁢6 小时前
C语言期末复习笔记
c语言·开发语言·笔记·leetcode·面试·蓝桥杯
唯道行6 小时前
计算机图形学·23 Weiler-Athenton多边形裁剪算法
算法·计算机视觉·几何学·计算机图形学·opengl
CoderYanger6 小时前
动态规划算法-01背包问题:50.分割等和子集
java·算法·leetcode·动态规划·1024程序员节
花月C6 小时前
个性化推荐:基于用户的协同过滤算法
开发语言·后端·算法·近邻算法
咕咕嘎嘎10246 小时前
C++六个默认成员函数
c++