【leetcode hot 100 240】搜索二维矩阵Ⅱ

解法一:直接查找

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        for(int i=0; i<matrix.length; i++){
            for(int j=0; j<matrix[0].length; j++){
                if(matrix[i][j]>target){
                    break;
                }
                if(matrix[i][j]==target){
                    return true;
                }
            }
        }
        return false;
    }
}

解法二:二分查找

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        for (int[] row : matrix) {
            int index = search(row, target);
            if (index >= 0) {
                return true;
            }
        }
        return false;
    }

    public int search(int[] nums, int target) {
        int low = 0, high = nums.length - 1;
        while (low <= high) {
            int mid = (high - low) / 2 + low;
            int num = nums[mid];
            if (num == target) {
                return mid;
            } else if (num > target) {
                high = mid - 1;
            } else {
                low = mid + 1;
            }
        }
        return -1;
    }
}

注意:

  • mid = (high - low) / 2 + low

解法三:(Z 字形查找)从右上角开始查找,若matrix[i][j]>target,则列减少;若matrix[i][j]<target,则列增加。

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int i=0, j=matrix[0].length-1;
        while(i<matrix.length && j>=0){
            if(matrix[i][j]==target){
                return true;
            }
            if(matrix[i][j]>target){
                j--;
            }
            else{
                i++;
            }
        }
        return false;
    }
}
相关推荐
可编程芯片开发2 小时前
基于霍尔传感器和PID控制器的有功功率检测控制系统simulink建模与仿真
算法
To_OC2 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
战族狼魂5 小时前
GPT-5.6与Grok 4.5重磅发布
人工智能·算法·大模型·大语言模型
白日焰火15 小时前
基于 OpenSpec 实现规范驱动开发
算法·交互
imuliuliang6 小时前
关于图搜索算法的性能建模与可预测性研究7
算法
ForDreamMusk7 小时前
批量归一化
人工智能·算法·机器学习
Ivanqhz8 小时前
刚体的自由度
人工智能·算法
KaMeidebaby8 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
Yang_jie_039 小时前
笔记:数据结构(栈是否使用底指针以及头指针的初始化值)
数据结构·笔记·算法
2301_800895109 小时前
信息安全数学基础复习
算法