当前位置: 首页 > news >正文

算法刷题-动态规划2

算法刷题-动态规划2

  • 珠宝的最高价值
  • 下降路径最小和

珠宝的最高价值

题目
在这里插入图片描述
大佬思路
多开一行使得代码更加的简洁

移动到右侧和下侧
dp[ i ][ j ]有两种情况:
第一种是从上面来的礼物最大价值:dp[ i ][ j ] = dp[ i - 1 ][ j ] + g[ i ][ j ]
第二种是从左面来的礼物最大价值:dp[ i ][ j ] = dp[ i ][ j - 1 ] + g[ i ][ j ]
所以得出状态表达式,dp[ i ][ j ] = max( dp[ i ][ j - 1 ],dp[ i - 1 ][ j ] ) + g[ i ][ j ]
2。为了简洁代码,多增加一行

class Solution {public int maxValue(int[][] grid) {int m = grid.length;int n = grid[0].length;//dp[i][j]表示从grid[0][0]到grid[i - 1][j - 1]时的最大价值int[][] dp = new int[m + 1][n + 1];for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];}}return dp[m][n];}
}class Solution { 
public: int maxValue(vector<vector<int>>& grid) { int m = grid.size(), n = grid[0].size(); vector<vector<int>> dp(m + 1, vector<int>(n + 1)); for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];}}return  dp[m][n]; }
};

下降路径最小和

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/239928.html

相关文章:

  • 【Vue】自定义指令
  • MFC 中创建并显示二维码
  • NX二次开发UF_CAM_set_clear_plane_tag 函数介绍
  • 计算机网络:数据链路层
  • 电线电缆行业生产管理怎么数字化?
  • 计算机网络之数据链路层
  • 前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 系列文章(目录)
  • uniapp 给小程序添加分享功能
  • npm命令
  • Halcon Solution Guide I basics(3): Region Of Interest(有兴趣区域/找重点)
  • 以太坊铭文聚合交易平台 Scorpio,铭文爆发的新推手?
  • Socket通信之网络协议基本原理
  • linux 开发板以太网通过Ubuntu上外网方法
  • DependencyProperty.Register:wpf 向别的xaml传递参数
  • uvm白皮书练习_ch2_ch231_加入transaction
  • python-泛型实现,类型检查
  • 黑马React18: Redux
  • visionOS空间计算实战开发教程Day 5 纹理和材质
  • 低代码PaaS开发平台
  • 阿里云99元服务器ECS经济型e实例性能如何?测评来了
  • vue3-生命周期
  • 23. 深度学习 - 多维向量自动求导
  • 挺扎心!好不容易有了一个offer,就因为背调出之前有仲裁记录,offer黄了,这已经是第二次了!...
  • 【brpc学习实践四】异步请求案例详解
  • git命令 cherry-pick
  • 手动添加扩展到composer中
  • TCP/IP
  • NX二次开发UF_CAM_set_clear_plane_data 函数介绍
  • 如何在 ASP.NET Core 中使用 Quartz.NET
  • 阿里云3M固定带宽服务器速度快吗?是否够用?