Leetcode 搜索二维矩阵

使用二分查找来解决该问题。这道题使用二分查找算法的核心点在于一维索引 mid 对应的二维矩阵位置换算公式 matrix[mid / n][mid % n]

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int rows = matrix.length;
        int cols = matrix[0].length;
        int left = 0;
        int right = rows * cols - 1;

        while(left <= right) {
            int mid = left + (right - left) / 2;
            int midValue = matrix[mid / cols][mid % cols];
            if(midValue == target) {
                return true;
            } else if(midValue > target) {
                right = mid - 1;
            } else {
                left = mid + 1;
            }
        }
        return false;
    }
}
相关推荐
爱睡懒觉的焦糖玛奇朵29 分钟前
【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
人工智能·python·深度学习·学习·算法·yolo·音视频
Runawayliquor34 分钟前
opbase:CANN 所有算子的公共地基
大数据·数据库·人工智能·算法
徐安安ye37 分钟前
FlashAttention 为什么对序列长度这么“敏感”?
人工智能·算法
黎阳之光2 小时前
黎阳之光:以视频孪生重构智能监盘,为燃机打造新一代智慧电厂大脑
大数据·人工智能·算法·安全·数字孪生
绝知此事3 小时前
【算法突围 02】树形结构与数据库索引:树形结构与数据库索引:从 BST 到 B+ 树的演化与 MySQL 优化
数据库·mysql·算法·面试·b+树
清木!3 小时前
排序算法比较
数据结构·算法·排序算法
吴可可1234 小时前
用Teigha修改并保存CAD文件
数据库·算法·c#
灰灰勇闯IT5 小时前
ops-reduce:ReduceMax 与 ReduceMean 的并行优化
算法
水木流年追梦5 小时前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
沙威玛_LHE5 小时前
P13376题解
算法