力扣labuladong一刷day61天动态规划最小下降路径

力扣labuladong一刷day61天动态规划最优子结构

一、931. 下降路径最小和

题目链接:https://leetcode.cn/problems/minimum-falling-path-sum/description/
如下图所示,求最小下降路径,定义dp[i][j]表示从最上面那行的任意位置抵达到nums[i][j]这个位置的最小路径和。根据题意每个位置只能从它上一行中的正上方的3个位置中得来,递推公式为dp[i][j]=min(dp[i-1][j-1], dp[i-1][j], dp[i-1][j+1])+nums[i][j],因为是下降路径,遍历顺序自然是从上往下,从左往右,没啥限制每个节点都得遍历,时间复杂度为n2。可以不new新的dp数组,直接在nums上做运算,空间复杂度1。
在这里插入图片描述

class Solution {
   
    public int minFallingPathSum(int[][] matrix) {
   
        int len = matrix.length, max = Integer.MAX_VALUE;
        for (int i = 1; i < matrix.length; i++) {
   
            for (int j = 0; j < matrix.length; j++) {
   
                int left = j-1>=0 ? matrix[i-1][j-1]:max;
                int mid = matrix[i-1][j];
                int right = j+1<len ? matrix[i-1][j+1]:max;
                matrix[i][j] = Math.min(Math.min(left, mid), right) + matrix[i][j];
            }
        }
        int min = Integer.MAX_VALUE;
        for (int i = 0; i < len; i++) {
   
            min = Math.min(min, matrix[len-1][i]);
        }
        return min;
    }
}

相关推荐

  1. labuladongday59动态规划

    2024-01-20 04:28:03       26 阅读
  2. labuladongday71动态规划5题

    2024-01-20 04:28:03       30 阅读
  3. labuladong——day68

    2024-01-20 04:28:03       39 阅读
  4. labuladong——day67

    2024-01-20 04:28:03       34 阅读
  5. labuladong——day69

    2024-01-20 04:28:03       37 阅读
  6. labuladong——day66

    2024-01-20 04:28:03       33 阅读
  7. labuladongday63单词拆分

    2024-01-20 04:28:03       38 阅读
  8. labuladongday35

    2024-01-20 04:28:03       28 阅读
  9. labuladongday34

    2024-01-20 04:28:03       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 04:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 04:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 04:28:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 04:28:03       20 阅读

热门阅读

  1. vue和react的hooks

    2024-01-20 04:28:03       29 阅读
  2. c语言之for循环语句

    2024-01-20 04:28:03       29 阅读
  3. C语言之三子棋游戏

    2024-01-20 04:28:03       31 阅读
  4. dpwwn:02

    dpwwn:02

    2024-01-20 04:28:03      31 阅读
  5. redisson+aop实现分布式锁

    2024-01-20 04:28:03       38 阅读
  6. HBuilderx发布苹果的包需要注意什么

    2024-01-20 04:28:03       33 阅读
  7. python子类继承基类的元类

    2024-01-20 04:28:03       24 阅读
  8. puppeteer实现截图

    2024-01-20 04:28:03       41 阅读
  9. (力扣记录)295. 数据流的中位数

    2024-01-20 04:28:03       35 阅读
  10. github 通过ssh进行连接的另一种方式

    2024-01-20 04:28:03       35 阅读