LeetCode【74】搜索二维矩阵

题目:

代码:

java 复制代码
public static boolean searchMatrix(int[][] matrix, int target) {

    int rows = matrix.length;
    int columns = matrix[0].length;

    // 先找到行,行为当前行第一列<target,当前行+1行,第一列>target
    for (int i = 0; i < rows; i++) {
        if (matrix[i][0] == target) {
            return true;
        } else if (i + 1 == rows || matrix[i + 1][0] > target && matrix[i][0] < target) {   // 这里从下标0开始,遍历到最后一行数组下标越界问题耗费了很长时间,注:最后一行 i+1==rows直接进行二分
            int left = 0, right = columns - 1;
            while (left <= right) {

                int mid = left + (right - left) / 2;
                if (matrix[i][mid] == target) {
                    return true;
                } else if (matrix[i][mid] > target) {
                    right = mid - 1;
                } else {
                    left = mid + 1;
                }
            }
        } else {
            // continue;
        }
    }

    return false;
}
相关推荐
CoovallyAIHub10 小时前
仅192万参数的目标检测模型,Micro-YOLO如何做到目标检测精度与效率兼得
深度学习·算法·计算机视觉
sali-tec10 小时前
C# 基于OpenCv的视觉工作流-章10-中值滤波
图像处理·人工智能·opencv·算法·计算机视觉
爱编程的小吴10 小时前
【力扣练习题】151. 反转字符串中的单词
java·算法·leetcode
3***g20510 小时前
MATLAB高效算法设计原则利用MATLAB内置函数
开发语言·算法·matlab
雍凉明月夜10 小时前
深度学习之目标检测yolo算法Ⅰ(v1-v3)
深度学习·算法·yolo·目标检测
s090713610 小时前
【计算机视觉】详解立体匹配算法:原理、公式与核心策略
人工智能·算法·计算机视觉·立体匹配
MicroTech202510 小时前
MLGO微算法科技通过高阶方法和重新缩放进一步改进非线性微分方程的量子算法
科技·算法
菜鸟233号10 小时前
力扣474 一和零 java实现
java·数据结构·算法·leetcode·动态规划
CoovallyAIHub10 小时前
2026 CES 如何用“视觉”改变生活?机器的“视觉大脑”被点亮
深度学习·算法·计算机视觉