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. 注意点

相关推荐
ChoSeitaku21 小时前
线代强化NO4|行列式的计算
线性代数·机器学习·矩阵
西西弗Sisyphus1 天前
如何找到一个矩阵的特征值和特征向量
线性代数·矩阵·特征值·特征向量
学好statistics和DS2 天前
三个好思路:SQL并行化处理、混淆矩阵和特征交叉
数据库·sql·矩阵
前端炒粉2 天前
21.搜索二维矩阵 II
前端·javascript·算法·矩阵
爱代码的小黄人2 天前
一般角度的旋转矩阵的推导
线性代数·算法·矩阵
西西弗Sisyphus2 天前
线性代数 - 特征值和特征向量可视化是什么样的
线性代数·特征值·特征向量
passxgx2 天前
10.7 密码学中的线性代数
线性代数·密码学
phoenix@Capricornus2 天前
多项分布 (Multinomial Distribution)
线性代数·机器学习·概率论
在路上看风景2 天前
1.8 分块矩阵
线性代数·矩阵
ChoSeitaku2 天前
线代强化NO3|线性方程组|特征值和特征向量|矩阵的相似性|实对称矩阵|二次型
线性代数·矩阵