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;
}
相关推荐
ModestCoder_14 小时前
强化学习 Policy 的 Tracking 能力全解析,以Legged_gym为例解说Policy的训练流程
人工智能·算法·自然语言处理·机器人·具身智能
小武~14 小时前
Leetcode 每日一题C 语言版 -- 234 basic calculator
linux·c语言·leetcode
小白程序员成长日记14 小时前
2025.12.02 力扣每日一题
数据结构·算法·leetcode
永远都不秃头的程序员(互关)14 小时前
在vscodeC语言多文件编译实战指南
c语言·数据结构·算法
立志成为大牛的小牛14 小时前
数据结构——五十三、处理冲突的方法——拉链法(王道408)
数据结构·学习·考研·算法
吃着火锅x唱着歌15 小时前
LeetCode 3583.统计特殊三元组
算法·leetcode·职场和发展
FPGA_无线通信15 小时前
OFDM 频偏补偿和相位跟踪(2)
算法·fpga开发
SHOJYS15 小时前
思维难度较大 贪心优化背包 [USACO22DEC] Bribing Friends G
数据结构·算法·深度优先
啊董dong15 小时前
课后作业-2025年12月07号作业
数据结构·c++·算法·深度优先·noi
无限进步_15 小时前
C语言宏的魔法:探索offsetof与位交换的奇妙世界
c语言·开发语言·windows·后端·算法·visual studio