搜索二维矩阵 II LeetCode热题100

题目

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

每行的元素从左到右升序排列。

每列的元素从上到下升序排列。

思路

从右上角(或左下角)开始,当当前的数大于target,则往右遍历找到更小的数。当当前的数小于target,则往下遍历找到更大的数。

代码

cpp 复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int m=matrix.size(),n=matrix[0].size();
        int i=0,j=n-1;
        while(i<m&&j>=0){
            if(matrix[i][j]>target){
                j--;
            }else if(matrix[i][j]<target){
                i++;
            }else{
                return true;
            }
        }
        return false;
    }
};
相关推荐
Xの哲學7 分钟前
hostapd 驱动注册机制深度分析
linux·网络·算法·wireless
int型码农1 小时前
数据结构第八章(六)-置换选择排序和最佳归并树
java·c语言·数据结构·算法·排序算法
@我漫长的孤独流浪1 小时前
数据结构----排序(3)
数据结构·c++·算法
依然易冷2 小时前
【APR-自动代码修复】论文分享:PyTy
算法
ggdpzhk2 小时前
输入两个正整数,计算最大公约数和最小公倍数
java·算法
weixin_307779134 小时前
波动方程兼容性条件分析
算法
-qOVOp-4 小时前
408第二季 - 组成原理 - 流水线
数据结构·算法
Xの哲學4 小时前
hostapd状态机解析
linux·网络·算法·wireless
kukubuzai5 小时前
搜索二叉数(c++)
算法
ZNineSun5 小时前
搜索二维矩阵II
矩阵·二分查找·二维矩阵