跳到主要内容

2713.矩阵中严格递增的单元格数

链接:2713.矩阵中严格递增的单元格数
难度:Hard
标签:记忆化搜索、数组、哈希表、二分查找、动态规划、矩阵、有序集合、排序
简介:请你找出从某个单元开始访问矩阵所能访问的 单元格的最大数量 。

题解 1 - python

  • 编辑时间:2024-06-19
  • 执行用时:1089ms
  • 内存消耗:71.42MB
  • 编程语言:python
  • 解法介绍:根据数值进行统计后dp。
class Solution:
def maxIncreasingCells(self, mat: List[List[int]]) -> int:
n = len(mat)
m = len(mat[0])
rows = [0] * n
cols = [0] * m
map = defaultdict(list)
for i in range(n):
for j in range(m):
map[mat[i][j]].append((i, j))
for _, arr in sorted(map.items(), key = lambda item: item[0]):
varr = [max(rows[i], cols[j]) + 1 for i, j in arr]
for (i, j), v in zip(arr, varr):
rows[i] = max(rows[i], v)
cols[j] = max(cols[j], v)
return max(rows)