【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;
    }
}
相关推荐
SunnyDays10115 分钟前
Java 合并 Excel 文件的几种实用方法
java·合并 excel
t***54411 分钟前
如何确认 Clang 是否在 Dev-C++ 中成功应用
java·开发语言·c++
啦啦啦_999915 分钟前
2. KNN算法之 分类&回归API实现
算法
X journey15 分钟前
机器学习进阶(23):K-means聚类
人工智能·算法·机器学习
m0_7520356315 分钟前
idea的debug configurations里面的shorten command line作用
java·ide·intellij-idea
一顿操作猛如虎,啥也不是!17 分钟前
VISUAL STUDIO和IDEA-c#和java调试快捷键
java
一 乐19 分钟前
智慧社区|基于Python + Django智慧社区系统(源码+数据库+文档)
java·数据库·python·django·论文·毕设·智慧社区系统
mjhcsp26 分钟前
根号快速计算牛顿迭代法
开发语言·c++·算法·迭代法
菜鸟丁小真27 分钟前
LeetCode hot100-79.单词搜索
数据结构·算法·leetcode·深度优先·知识总结