力扣热题100--------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

提示:

m == matrix.length

n == matrix[i].length

1 <= n, m <= 300

-109 <= matrix[i][j] <= 109

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

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

-109 <= target <= 109

思路:我们运用一个二分查找的思路 从第一行的最后一个元素开始

如果查找的元素大于被查找的元素 那我们就让行+1 如果查找的元素小于被查找的元素那我们就让列-1 如果相等 直接返回true

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int row=0;
       int col=matrix[0].length-1;
       while (col>=0 && row<matrix.length){
           if (matrix[row][col]==target){
                return true;
           }else if (matrix[row][col]<target){
               row++;
           }else {
               col--;
           }
       }
       return false;
    }
}
相关推荐
颜酱12 小时前
二叉树遍历思维实战
javascript·后端·算法
宝贝儿好12 小时前
第二章: 图像处理基本操作
算法
符哥200812 小时前
C++ 进阶知识点整理
java·开发语言·jvm
小陈phd12 小时前
多模态大模型学习笔记(二)——机器学习十大经典算法:一张表看懂分类 / 回归 / 聚类 / 降维
学习·算法·机器学习
@––––––12 小时前
力扣hot100—系列4-贪心算法
算法·leetcode·贪心算法
Sayuanni%312 小时前
初阶_多线程1(线程含义与关键属性)
java
程序媛徐师姐12 小时前
Java基于微信小程序的模拟考试系统,附源码+文档说明
java·微信小程序·java模拟考试系统小程序·模拟考试微信小程序·模拟考试系统小程序·模拟考试小程序·java模拟考试小程序
CoovallyAIHub12 小时前
让本地知识引导AI追踪社区变迁,让AI真正理解社会现象
深度学习·算法·计算机视觉
CoderCodingNo12 小时前
【GESP】C++ 二级真题解析,[2025年12月]第一题环保能量球
开发语言·c++·算法
yumgpkpm12 小时前
预测:2026年大数据软件+AI大模型的发展趋势
大数据·人工智能·算法·zookeeper·kafka·开源·cloudera