跳转至

3359. 查找最大元素不超过 K 的有序子矩阵 🔒

题目描述

给定一个大小为 m x n 的二维矩阵 grid。同时给定一个 非负整数 k

返回满足下列条件的 grid 的子矩阵数量:

  • 子矩阵中最大的元素 小于等于 k
  • 子矩阵的每一行都以 非递增 顺序排序。

矩阵的子矩阵 (x1, y1, x2, y2) 是通过选择所有满足 x1 <= x <= x2 且 y1 <= y <= y2 的 grid[x][y] 元素组成的矩阵。

 

示例 1:

输入:grid = [[4,3,2,1],[8,7,6,1]], k = 3

输出:8

解释:

8 个子矩阵分别是:

  • [[1]]
  • [[1]]
  • [[2,1]]
  • [[3,2,1]]
  • [[1],[1]]
  • [[2]]
  • [[3]]
  • [[3,2]]

示例 2:

输入:grid = [[1,1,1],[1,1,1],[1,1,1]], k = 1

输出:36

解释:

矩阵中有 36 个子矩阵。所有子矩阵的最大元素都等于 1。

示例 3:

输入:grid = [[1]], k = 1

输出:1

 

提示:

  • 1 <= m == grid.length <= 103
  • 1 <= n == grid[i].length <= 103
  • 1 <= grid[i][j] <= 109
  • 1 <= k <= 109

 

​​​​​​

解法

方法一

1

1

1

1

评论