leetcode74.搜索二维矩阵

把二维数组展开成一维,发现随着索引增加,值增大,那么其实这就是普通的二分查找

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m=matrix.length,n=matrix[0].length;
        int left=0,right=m*n-1;
        while(left<=right){
            int mid=(right-left)/2+left;

            int row=mid/n;
            int col=mid%n;
            if(matrix[row][col]==target)
                return true;
            else if(target<matrix[row][col])
                right=mid-1;
            else    
                left=mid+1;
        }
        return false;
    }
}
相关推荐
LDG_AGI2 分钟前
【推荐系统】深度学习训练框架(六):PyTorch DDP(DistributedDataParallel)数据并行分布式深度学习原理
人工智能·pytorch·分布式·python·深度学习·算法·spark
嘟嘟w5 分钟前
垃圾回收算法
算法
胖咕噜的稞达鸭10 分钟前
算法入门:专题二分查找算法 模板总结 题目练手 :排序数组中查找元素的第一个和最后一个位置 第一个错误的版本 查找x的平方根 搜索插入位置 山脉数组的封顶索引
c语言·c++·算法·leetcode
松涛和鸣12 分钟前
21、单向链表完整实现与核心技巧总结
linux·c语言·数据结构·算法·链表
TL滕23 分钟前
从0开始学算法——第三天(数据结构的操作)
数据结构·笔记·学习·算法
Aaron158833 分钟前
基于FPGA实现卷积方法比较分析
arm开发·算法·fpga开发·硬件架构·硬件工程·射频工程·基带工程
AndrewHZ1 小时前
【图像处理基石】什么是分水岭算法?
图像处理·算法·计算机视觉·图像分割·cv·形态学分割
前端小L1 小时前
回溯算法专题(五):去重与剪枝的双重奏——攻克「组合总和 II」
算法·剪枝
TL滕1 小时前
从0开始学算法——第三天(数据结构的多样性)
数据结构·笔记·学习·算法
V1ncent Chen1 小时前
人工智能的基石之一:算法
人工智能·算法