【LC】240. 搜索二维矩阵 II

题目描述:

编写一个高效的算法来搜索 m xn 矩阵 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

题解:

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        for (int[] row : matrix) {
            boolean isMatch = search(row, target);
            if (isMatch) {
                return true;
            }
        }
        return false;
    }

    private boolean search(int[] nums, int target) {
        int n = nums.length;
        int left = 0, right = n - 1;
        while (left <= right) {
            int mid = left + (right - left >> 1);
            if (nums[mid] == target) {
                return true;
            } else if (nums[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return false;
    }
}
相关推荐
nchu可乐百香果8 分钟前
sparkRDD教程之必会的题目
java·学习·spark·intellij-idea
澄岚明雪13 分钟前
力扣经典题目之55.跳跃游戏
算法·leetcode·职场和发展
zhulangfly1 小时前
【Java设计模式-5】装饰模式:给咖啡加点“佐料”
java·设计模式·装饰模式
ktkiko111 小时前
前后端本地启动
java·项目开发·im系统
oioihoii1 小时前
《C++11》nullptr介绍:从NULL说起
android·java·c++
柠石榴1 小时前
【练习】力扣热题100 有效的括号
c++·算法·leetcode·职场和发展
极客先躯1 小时前
高级java每日一道面试题-2025年01月13日-框架篇[Spring篇]-Spring 是怎么解决循环依赖的?
java·spring·实例化·构造器注入·三级缓存机制·提前暴露·继续初始化
暗香浮动,月黑风高1 小时前
Certificates do not conform to algorithm constraints
java·ide·python·pycharm
旧物有情1 小时前
蓝桥杯历届真题 # 数字诗意(C++,Java)
java·c++·蓝桥杯
_UMR_2 小时前
XML反序列化
xml·java·开发语言