leetcode 74. 搜索二维矩阵

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m = matrix.length;
        int n = matrix[0].length;
        int l = 0;
        int r = n * m - 1; // 记得减一
        while (l <= r) {
            int mid = (l + r) / 2;
            if(matrix[mid / n][mid % n] > target) {
                r = mid - 1;
            } else if (matrix[mid / n][mid % n] < target){
                l = mid + 1;
            } else {
                return true;
            }
        }
        return false;
    }
}
相关推荐
wheeldown11 分钟前
【Leetcode高效算法】用双指针策略打破有效三角形的个数
python·算法·leetcode
蒙奇D索大31 分钟前
【数据结构】考研重点掌握:顺序查找算法实现与ASL计算详解
数据结构·笔记·学习·考研·算法·改行学it
TTGGGFF33 分钟前
MATLAB仿真:编程基础实验全解析——从入门到实战
数据结构·算法·matlab
Ivanqhz34 分钟前
LR算法中反向最右推导(Reverse RightMost Derivation)
人工智能·算法
zl_dfq37 分钟前
数据结构 之 【图的最短路径】(Dijstra、BellmanFord、FloydWarShall算法实现)
数据结构·算法
Aobing_peterJr37 分钟前
树状数组的原理和简单实现:一种使用倍增优化并支持在线 O(log N) 修改、查询的数据结构
数据结构·算法
大千AI助手1 小时前
二元锦标赛:进化算法中的选择机制及其应用
人工智能·算法·优化·进化算法·二元锦标赛·选择机制·适应生存
独自破碎E1 小时前
归并排序的递归和非递归实现
java·算法·排序算法
K 旺仔小馒头2 小时前
《牛刀小试!C++ string类核心接口实战编程题集》
c++·算法
草莓熊Lotso3 小时前
《吃透 C++ vector:从基础使用到核心接口实战指南》
开发语言·c++·算法