【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;
    }
}
相关推荐
秋说18 分钟前
【PTA数据结构 | C语言版】根据层序序列重构二叉树
c语言·数据结构·算法
云云3211 小时前
亚矩阵云手机:破解 Yandex 广告平台多账号风控难题的利器
网络·科技·线性代数·智能手机·矩阵
秋说1 小时前
【PTA数据结构 | C语言版】前序遍历二叉树
c语言·数据结构·算法
会唱歌的小黄李2 小时前
【算法】贪心算法:最大数C++
c++·算法·贪心算法
NuyoahC2 小时前
笔试——Day8
c++·算法·笔试
墨染点香3 小时前
LeetCode Hot100 【1.两数之和、2.两数相加、3.无重复字符的最长子串】
算法·leetcode·职场和发展
秋说3 小时前
【PTA数据结构 | C语言版】二叉树层序序列化
c语言·数据结构·算法
地平线开发者3 小时前
开发者说|Aux-Think:为什么测试时推理反而让机器人「误入歧途」?
算法·自动驾驶
Tiny番茄4 小时前
46. 携带研究材料(01背包二维数组)
算法·动态规划
共享家95274 小时前
排序算法实战(上)
数据结构·算法·排序算法