【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;
    }
}
相关推荐
孞㐑¥9 分钟前
算法—滑动窗口
开发语言·c++·经验分享·笔记·算法
历程里程碑13 分钟前
Linux 3 指令(3):进阶指令:文件查看、资源管理、搜索打包压缩详解
linux·运维·服务器·c语言·数据结构·笔记·算法
invicinble21 分钟前
关于对后端开发工程师,在项目层面的基本需求与进阶方向
java
懒鸟一枚24 分钟前
Java17新特性详解
java
戌中横26 分钟前
JavaScript 对象
java·开发语言·javascript
crossaspeed26 分钟前
面向对象的三大特征和反射(八股)
java·开发语言
咋吃都不胖lyh27 分钟前
GBDT 中的前向分布算法和贪婪学习
学习·算法
leo__52030 分钟前
CLEAN算法仿真程序,用于雷达信号中的杂波抑制
算法
zfj32136 分钟前
java synchronized关键字用法和底层原理
java·开发语言·轻量级锁·重量级锁·偏向锁·线程同步
梵高的代码色盘39 分钟前
互联网大厂Java求职面试实录与技术深度解析
java·spring·缓存·微服务·面试·互联网大厂·技术深度