力扣热题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;
    }
}
相关推荐
长河4 小时前
Java开发者LLM实战——LangChain4j最新版教学知识库实战
java·开发语言
仙俊红4 小时前
LeetCode每日一题,20250914
算法·leetcode·职场和发展
Cyan_RA94 小时前
SpringMVC @RequestMapping的使用演示和细节 详解
java·开发语言·后端·spring·mvc·ssm·springmvc
喵手6 小时前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
再见晴天*_*7 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
hdsoft_huge10 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘10 小时前
39.网络流入门
开发语言·网络·c++·算法
雨白11 小时前
Java 多线程指南:从基础用法到线程安全
android·java
Hungry_Shark11 小时前
IDEA版本控制管理之使用Gitee
java·gitee·intellij-idea
赛姐在努力.11 小时前
《IDEA 突然“三无”?三秒找回消失的绿色启动键、主菜单和项目树!》
java·intellij-idea