力扣热题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 == matrixi.length

1 <= n, m <= 300

-109 <= matrixij <= 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;
    }
}
相关推荐
君君思密达7 分钟前
LeetCode Hot 100 题目详解-滑动窗口
算法·leetcode·职场和发展
程序员黑豆7 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
GreenTea8 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
风流 少年8 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
小席是个热心肠9 小时前
AI相关的自我学习
java·人工智能·学习
fqq39 小时前
力扣刷题前置Java语法
算法·leetcode·职场和发展
数智化管理手记11 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
半夏微凉半夏殇12 小时前
x11与weston对比,优先选哪个
leetcode·均值算法·eclipse
2501_9065651212 小时前
数学之美探究
算法