【leetcode hot 100 74】搜索二维矩阵

解法一:双重二分查找

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int n=matrix.length, m=matrix[0].length;
        int row1=0, row2=n-1, col1=0, col2=m-1;
        int row_mid, col_mid;
        while(row1<=row2){
            row_mid = (row1+row2)/2;
            while(col1<=col2){
                col_mid = (col1+col2)/2;
                if(matrix[row_mid][col_mid]==target){
                    return true;
                }
                if(matrix[row_mid][col_mid]>target){
                    col2 = col_mid-1;
                }
                else{
                    col1 = col_mid+1;
                }
            }
            col1=0; 
            col2=m-1;
            if(matrix[row_mid][col2]>=target){
                row2 = row_mid-1;
            }
            else{
                row1 = row_mid+1;
            }
        }
        return false;
    }
}
相关推荐
tryxr29 分钟前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_333 分钟前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
Selvaggia43 分钟前
DMD(Distribution Matching Distillation,分布匹配蒸馏)
算法
Navigator_Z1 小时前
LeetCode //C - 1255. Maximum Score Words Formed by Letters
c语言·算法·leetcode
All for pursuit.1 小时前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
开开心心就好1 小时前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
All for pursuit.1 小时前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
wzdark2 小时前
数据压缩算法的时间复杂度与压缩率权衡4
算法
小陈phd2 小时前
深入理解agent学习笔记(一)——现代agent介绍
人工智能·算法
圣保罗的大教堂2 小时前
leetcode 1665. 完成所有任务的最少初始能量 中等
leetcode