【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;
    }
}
相关推荐
求梦820几秒前
【力扣hot100题】搜索二维矩阵II(16)
算法·leetcode·矩阵
天“码”行空3 分钟前
java的设计模式-----------单例类
java·开发语言·设计模式
0***m8224 分钟前
Java性能优化实战技术文章大纲性能优化的基本原则
java·开发语言·性能优化
芒克芒克11 分钟前
JVM性能监控
java·jvm
2501_9011478311 分钟前
单词拆分(Word Break)题解 | 动态规划解法
考研·算法·动态规划
行稳方能走远13 分钟前
Android java 学习笔记3
android·java
WF_YL14 分钟前
IntelliJ IDEA 关闭保存时在文件末尾换行 -(取消保存自动末尾换行)
java·ide·intellij-idea
撩得Android一次心动17 分钟前
Android Lifecycle 全面解析:掌握生命周期管理的艺术(1)
android·java·kotlin·lifecycle
lang2015092817 分钟前
Java高性能缓存库Caffeine全解析
java·缓存·linq