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;
    }
}
相关推荐
矛取矛求4 分钟前
日期类的实现
开发语言·c++·算法
在下雨59934 分钟前
项目讲解1
开发语言·数据结构·c++·算法·单例模式
Jayyih43 分钟前
嵌入式系统学习Day36(简单的网页制作)
学习·算法
脑洞代码1 小时前
20250909的学习笔记
算法
Christo31 小时前
TFS-2003《A Contribution to Convergence Theory of Fuzzy c-Means and Derivatives》
人工智能·算法·机器学习
黑菜钟1 小时前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
Yingjun Mo1 小时前
1. 统计推断-ALMOND收敛性分析
人工智能·算法·机器学习
海梨花2 小时前
CSP认证练习题目推荐 (1)
算法·深度优先·csp
天上的光2 小时前
大模型——剪枝、量化、蒸馏、二值化
算法·机器学习·剪枝
pzx_0012 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展