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

相关推荐
fFee-ops13 小时前
54. 螺旋矩阵
线性代数·矩阵
hansang_IR1 天前
【线性代数基础 | 那忘算9】基尔霍夫(拉普拉斯)矩阵 & 矩阵—树定理证明 [详细推导]
c++·笔记·线性代数·算法·矩阵·矩阵树定理·基尔霍夫矩阵
KarrySmile1 天前
网格图--Day04--网格图DFS--2684. 矩阵中移动的最大次数,1254. 统计封闭岛屿的数目,130. 被围绕的区域
矩阵·深度优先·dfs·深度优先搜索·灵茶山艾府·网格图·网格图dfs
lingchen19061 天前
MATLAB矩阵及其运算(三)矩阵的创建
算法·matlab·矩阵
Dream it possible!1 天前
LeetCode 面试经典 150_矩阵_有效的数独(34_36_C++_中等)(额外数组)
leetcode·面试·矩阵
斐夷所非2 天前
线性代数基础 | 基底 / 矩阵 / 行列式 / 秩 / 线性方程组
线性代数
Go_Zezhou2 天前
在线性代数里聊聊word embedding
线性代数·算法·机器学习·nlp
云手机掌柜2 天前
Twitter舆情裂变链:指纹云手机跨账号协同机制提升互动率200%
python·网络安全·智能手机·矩阵·虚幻·内容运营·twitter
ShineWinsu2 天前
对于牛客网—语言学习篇—编程初学者入门训练—复合类型:BC140 杨辉三角、BC133 回型矩阵、BC134 蛇形矩阵题目的解析
c语言·矩阵·数组·蛇形矩阵·杨辉三角·牛客网·回型矩阵