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

相关推荐
重生之我是Java开发战士5 小时前
【优选算法】前缀和:一二维前缀和,寻找数组的中心下标,除自身以外数组的乘积,和为K的子数组,和可被K整除的子数组,连续数组,矩阵区域和
线性代数·算法·矩阵
We་ct6 小时前
LeetCode 73. 矩阵置零:原地算法实现与优化解析
前端·算法·leetcode·矩阵·typescript
好学且牛逼的马7 小时前
【Hot100|22-LeetCode 206. 反转链表 - 完整解法详解】
算法·leetcode·矩阵
ValhallaCoder7 小时前
hot100-矩阵
数据结构·python·算法·矩阵
-dzk-15 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
We་ct1 天前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript
weisian1511 天前
进阶篇-7-数学篇-6--向量、矩阵、张量在 AI 中的运算与应用:解锁智能的“计算语法”
人工智能·线性代数·矩阵·向量·ai运算
独自破碎E1 天前
【前缀和】LCR_013_二维区域和检索-矩阵不可变
线性代数·矩阵
香芋Yu1 天前
【机器学习教程】第03章:SVD与矩阵分解
笔记·机器学习·矩阵
香芋Yu1 天前
【机器学习教程】第02章:线性代数基础【上】
笔记·线性代数·机器学习