240. 搜索二维矩阵 II

1. 题目

240. 搜索二维矩阵 II - 力扣(LeetCode)

2. 解题思路

矩阵满足:每行从左到右递增、每列从上到下递增。
关键观察 :取右上角 元素 x = matrix[r][c]

  • x == target → 找到;
  • x > target → 这一列下面都 ≥ x,更不可能,因此向左 移动(c--)缩小列;
  • x < target → 这一行左边都 ≤ x,更不可能,因此向下 移动(r++)扩大行。
    这样每一步都能排除一整行或一整列,直到越界或找到为止。

3. 代码

3.1. 完整代码

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m = matrix.length;
        int n = matrix[0].length;

        int row = 0;
        int col = n - 1;
        while (row < m && col >= 0) {
            int x = matrix[row][col];
            if (x == target) {
                return true;
            }
            if (x > target) {
                col--;
            } else if (x < target) {
                row++;
            }
        }
        return false;
    }
}

3.2. 注意点

相关推荐
爱学习的小鱼gogo14 小时前
python 单词搜索(回溯-矩阵-字符串-中等)含源码(二十)
开发语言·数据结构·python·矩阵·字符串·回溯·递归栈
熬了夜的程序员17 小时前
【LeetCode】82. 删除排序链表中的重复元素 II
数据结构·算法·leetcode·链表·职场和发展·矩阵·深度优先
前端小L18 小时前
动态规划的“降维”艺术:二维矩阵中的建筑奇迹——最大矩形
线性代数·矩阵
小龙20 小时前
【理论知识】Q/K/V权重矩阵学习笔记
矩阵·大模型·transformer·多头注意力机制·理论基础
无限进步_20 小时前
【C语言】在矩阵中高效查找数字的算法解析
c语言·开发语言·数据结构·c++·其他·算法·矩阵
张晓~183399481212 天前
碰一碰发抖音源码技术搭建部署方案
线性代数·算法·microsoft·矩阵·html5
dxnb222 天前
Datawhale25年10月组队学习:math for AI+Task3线性代数(下)
人工智能·学习·线性代数
woshihonghonga2 天前
PyTorch矩阵乘法函数区别解析与矩阵高级索引说明——《动手学深度学习》3.6.3、3.6.4和3.6.5 (P79)
人工智能·pytorch·python·深度学习·jupyter·矩阵
CLubiy2 天前
【研究生随笔】Pytorch中的线性代数(微分)
人工智能·pytorch·深度学习·线性代数·梯度·微分
郝学胜-神的一滴2 天前
矩阵的奇异值分解(SVD)及其在计算机图形学中的应用
程序人生·线性代数·算法·矩阵·图形渲染