leetcode hot 100 -搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

示例 1:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

示例 2:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104

代码 二分的两种写法

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        // 这是一个在二维矩阵查找目标值的题       target       采用二分,将二维矩阵变成一维
        int x=matrix.length;
        int y=matrix[0].length;
        // 开区间二分
        int l=-1;
        int r=x*y;
        while(l+1<r){
            int mid=(l+r)>>>1;
            int temp=matrix[mid/y][mid%y];
            if(temp==target) return true;
            else{
                if(temp>target){
                    r=mid;
                }
                else{
                    l=mid;
                }
            }
        }
        return false;
        
    }
    //  int l=0;
    //     int r=x*y-1;
    //     //闭区间二分
    //     while(l<=r){
    //        int mid=l+(r-l)/2;
    //        int temp=matrix[mid/y][mid%y];
    //        if(temp==target){
    //         return true;
    //        }
    //        else{  //目标值比现在值大
    //              if(temp>target){
    //                  r=mid-1;
    //              }
    //              else{
    //                  l=mid+1;
    //              }
    //        }
    //     }
    //     return false;
}
相关推荐
夏幻灵7 分钟前
每日一题:LeetCode 1:两数之和——从暴力枚举到 Map 哈希表优化
算法·leetcode·散列表
段一凡-华北理工大学16 分钟前
高炉炼铁机器视觉与智能识别十八讲~系列文章09:AI 算法基础:从传统图像处理到深度学习的视觉“大脑“
图像处理·人工智能·算法·机器视觉·工业智能化·高炉炼铁智能化·高炉智能识别
alphaTao23 分钟前
LeetCode 每日一题 2026/9/28-2026/10/4
算法·leetcode
源码学社25 分钟前
图像去水印实测:OpenCV inpainting vs LaMa,传统算法和 AI 模型差距有多大
人工智能·opencv·算法·去水印·图片水印·ai去水印
一条大祥脚40 分钟前
26ICPC网络赛第二场 计数|DFS|MEX|贪心
算法·深度优先·mex·icpc网络赛
aqiu1111111 小时前
【蓝桥杯 / C++】星际争霸 — 字符串逆序对与大整数自定义排序
算法
行者全栈架构师1 小时前
【鸿蒙心迹】ArkUI 列表性能实战——为什么 200 条数据页面掉到 20fps,LazyForEach 怎么救(HarmonyOS 7.x)
前端·算法·架构
一碗甜汤ᐝ1 小时前
高级算法分析与设计 | 常见 NP-Complete 问题总结
算法·np-complete·算法分析与设计·np完备问题
垆边人似月.1 小时前
分割数组的最大值最小化(200分 / 二分答案 + 贪心)
数据结构·算法·排序算法
CQU_JIAKE1 小时前
10.7【A】
算法