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;
}
相关推荐
梦想画家11 小时前
Apache AGE实战指南:从Cypher语法到核心图算法
算法·cypher·apache age
刀法如飞12 小时前
Go数组去重的20种实现方式,AI时代解决问题的不同思路
后端·算法·go
旖-旎12 小时前
深搜练习(N皇后)(10)
c++·算法·深度优先·力扣
Controller-Inversion13 小时前
322. 零钱兑换
算法
头发够用的程序员13 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
淡海水13 小时前
【AI模型】模型量化技术详解
人工智能·算法·机器学习
炸膛坦客13 小时前
嵌入式 - 数据结构与算法:(1-1)数据结构 - 顺序表(Sequential List)
数据结构·算法·嵌入式
水龙吟啸14 小时前
数据结构与算法随机复习–Day1
数据结构·c++·算法
AI科技星14 小时前
全域数学·几何本源部 第26卷 无穷几何、无穷射影几何【乖乖数学】
线性代数·矩阵
生成论实验室14 小时前
《事件关系阴阳博弈动力学:识势应势之道》第八篇:认知与反思关系——探索、定位与延续
人工智能·算法·架构·知识图谱·创业创新