力扣热题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;
    }
}
相关推荐
Kratzdisteln5 分钟前
【1902】0121-1 Dify工作流节点详细配置(方案B最终版)
java·前端·javascript
lbb 小魔仙6 分钟前
【Java】Java JVM 调优实战:GC 调优参数 + 内存泄漏排查,线上性能提升实战
java·开发语言·jvm
大柏怎么被偷了8 分钟前
【Linux】线程的概念
java·linux·jvm
TTGGGFF8 分钟前
控制系统建模仿真(三):矩阵分析、微分方程与最优化求解
线性代数·矩阵
IT 行者10 分钟前
基于Servlet的纯原生Java Web工程之工程搭建:去除依赖的繁琐,返璞归真
java·前端·servlet
wenjianhai11 分钟前
若依(RuoYi-Vue-Plus)框架使用WebSocket(2)
java·若依·websocke4t
辰阳星宇13 分钟前
【工具调用】工具调用后训练参数设计方案总结
人工智能·算法·自然语言处理
范纹杉想快点毕业14 分钟前
C语言查找算法对比分析
数据结构·算法
ID_1800790547315 分钟前
淘宝平台商品详情API(item_get)深度解析
java·服务器·前端
被星1砸昏头15 分钟前
自定义操作符高级用法
开发语言·c++·算法