力扣热题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;
    }
}
相关推荐
王八八。2 小时前
linux后台java、postSQL部署命令
java·linux·运维
月落归舟3 小时前
MyBatis缓存机制
java·缓存·mybatis
huipeng9263 小时前
企业级微服务开发实战(一):项目启动与工程化设计
java·开发语言·spring boot·spring cloud·微服务·云原生·架构
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 小时前
java实现excel导入、下载模板方法
java·开发语言·excel
Black蜡笔小新4 小时前
自动化AI算法训练服务器DLTM助力医学影像分析进入AI智能分析新时代
人工智能·算法·自动化
段ヤシ.4 小时前
回顾Java知识点,面试题汇总Day12(持续更新)
java·mybatis
java1234_小锋4 小时前
Spring AI 2.0 开发Java Agent智能体 - MCP(模型上下文协议)
java·人工智能·spring·spring ai
手写码匠4 小时前
深入解析大模型架构之争:全能通用模型 vs 领域专精模型
人工智能·深度学习·算法·aigc
seven97_top4 小时前
两小时入门Sentinel
java·sentinel
叶小鸡4 小时前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day1
java·开发语言