题目描述:

方法一:动态规划 O(N^3)

class Solution:
def minFallingPathSum(self, arr: List[List[int]]) -> int:
n = len(arr)
for i in range(1,n):
for j in range(n):
arr[i][j] = arr[i][j] + min(arr[i-1][0:j] + arr[i-1][j+1:])
return min(arr[-1])

优化:O(n^2logn)

class Solution:
def minFallingPathSum(self, arr: List[List[int]]) -> int:
n = len(arr)
for i in range(1,n):
a,b = sorted(arr[i-1])[::2]
for j in range(n):
arr[i][j] += a if arr[i - 1][j] != a else b
return min(arr[-1])

优化:O(n^2)

class Solution:
def minFallingPathSum(self, arr: List[List[int]]) -> int:
n = len(arr)
for i in range(1,n):
a,b = float("inf"),float("inf")
for j in arr[i-1]:
if j < a:
if a != float("inf"):
b = a
a = j
elif j < b:
b = j
for j in range(n):
arr[i][j] += a if arr[i - 1][j] != a else b
return min(arr[-1])

最新文章

  1. Shell_3 函数
  2. Linux CentOS6.5下安装Oracle ASM
  3. The connection to adb is down, and a severe error has occured.问题解决方法小结
  4. salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解
  5. NGUI Atlas, Atlas Type Reference
  6. 【SpringMVC】SpringMVC系列14之SpringMVC国际化
  7. opencv,关于物体检测
  8. 软件工程 speedsnail 冲刺3
  9. android中数据存储的contentprovider的使用方法
  10. pop动画使用示例
  11. Mock Server文章链接
  12. Linux学习-汇总
  13. React 记录(4)
  14. HDU46093-idiots
  15. Day26--Python--包
  16. win7用VMware安装CentOs7搭建Linux环境
  17. Html table、thead、tr、th、td 标签
  18. [UGUI]修改顶点
  19. STL 算法中函数对象和谓词
  20. 使用Python操作Memcached

热门文章

  1. 面向对象编程思想(OOP)(转发)
  2. day34—JavaScript实现DOM操作
  3. Socket错误详解及处理方法
  4. CentOS 7命令行安装GNOME、KDE图形界面(成功安装验证)
  5. Struts2之校验
  6. ptmx
  7. shuoj 1 + 2 = 3? (二分+数位dp)
  8. HDU 6315 Naive Operations 【势能线段树】
  9. linux上执行jmeter脚本
  10. 理解Throughput和Latency