没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
bfs和dfs记忆化存储的数据是不一样的,
**bfs memo记录 走到[r] [c]用了几步**
**dfs memo记录 从[r] [c]开始走到终点的最长距离**
记忆化bfs: 1720 ms 15.6 MB
```python
class Solution:
def longestIncreasingPath(self, matrix: List[List[int]]) -> int:
rows = len(matrix)
cols = len(matrix[0])
memo = [[-1 for _ in range(cols)] for _ in range(rows)]
# 记录上次走到[r][c]的时候用了几步,如果这次又走到[r][c],
# 这次走到[r][c]的步数比上次还要少,那就没必要再走了,
# 如果这次走的步数多,就更新
def bfs(row, col):
queue = collections.deque()
queue.append((row, col, 1))
while queue:
r, c, step = queue.popleft()
for dr, dc in ((0, 1), (1, 0), (-1, 0), (0, -1)):
nr = r + dr
nc = c + dc
if 0<=nrmatrix[r][c]:
if step+1 <= memo[nr][nc]:
continue
queue.append((nr, nc, step+1))
memo[nr][nc] = step + 1
return step
ans = float("-inf")
for r in range(rows):
for c in range(cols):
点击阅读更多
资源评论
吉利吉利
- 粉丝: 29
- 资源: 308
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功