Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
python-algorithm
提交
8600ec46
P
python-algorithm
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
python-algorithm
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
python-algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8600ec46
编写于
7月 13, 2023
作者:
Kwan的解忧杂货铺@新空间代码工作室
🐭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:下降路径最小和
上级
df87473e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
0 deletion
+41
-0
05-动态规划/problem_solving_01.py
05-动态规划/problem_solving_01.py
+41
-0
未找到文件。
05-动态规划/problem_solving_01.py
0 → 100644
浏览文件 @
8600ec46
"""
下降路径最小和
"""
from
linecache
import
cache
from
math
import
inf
from
typing
import
List
class
Solution
:
def
minFallingPathSum
(
self
,
matrix
:
List
[
List
[
int
]])
->
int
:
"""
动态规划:
选或者不选?
枚举选哪个?
这道题使用枚举选哪个
:param matrix:
:return:
"""
n
=
len
(
matrix
)
@
cache
def
dfs
(
line
:
int
,
i
:
int
)
->
int
:
"""
每一个到顶层的路径和最小值
:param line: 行号
:param i: 列index
:return:
"""
if
i
<
0
or
i
>=
n
:
return
inf
if
line
==
0
:
# 递归结束条件,到达顶层
return
matrix
[
0
][
i
]
return
min
(
dfs
(
line
-
1
,
i
-
1
),
dfs
(
line
-
1
,
i
),
dfs
(
line
-
1
,
i
+
1
))
+
matrix
[
line
][
i
]
return
min
(
dfs
(
n
-
1
,
index
)
for
index
in
range
(
n
))
if
__name__
==
'__main__'
:
result
=
Solution
().
minFallingPathSum
([[
2
,
1
,
3
],
[
6
,
5
,
4
],
[
7
,
8
,
9
]])
print
(
result
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录