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

网站页面设计价格抖音做我女朋友好不好网站

网站页面设计价格,抖音做我女朋友好不好网站,甜橙直播,植物提取网站做的比较好的厂家【LetMeFly】2304.网格中的最小路径代价:DP 力扣题目链接:https://leetcode.cn/problems/minimum-path-cost-in-a-grid/ 给你一个下标从 0 开始的整数矩阵 grid ,矩阵大小为 m x n ,由从 0 到 m * n - 1 的不同整数组成。你可以…

【LetMeFly】2304.网格中的最小路径代价:DP

力扣题目链接:https://leetcode.cn/problems/minimum-path-cost-in-a-grid/

给你一个下标从 0 开始的整数矩阵 grid ,矩阵大小为 m x n ,由从 0m * n - 1 的不同整数组成。你可以在此矩阵中,从一个单元格移动到 下一行 的任何其他单元格。如果你位于单元格 (x, y) ,且满足 x < m - 1 ,你可以移动到 (x + 1, 0), (x + 1, 1), ..., (x + 1, n - 1) 中的任何一个单元格。注意: 在最后一行中的单元格不能触发移动。

每次可能的移动都需要付出对应的代价,代价用一个下标从 0 开始的二维数组 moveCost 表示,该数组大小为 (m * n) x n ,其中 moveCost[i][j] 是从值为 i 的单元格移动到下一行第 j 列单元格的代价。从 grid 最后一行的单元格移动的代价可以忽略。

grid 一条路径的代价是:所有路径经过的单元格的 值之和 加上 所有移动的 代价之和 。从 第一行 任意单元格出发,返回到达 最后一行 任意单元格的最小路径代价

 

示例 1:

输入:grid = [[5,3],[4,0],[2,1]], moveCost = [[9,8],[1,5],[10,12],[18,6],[2,4],[14,3]]
输出:17
解释:最小代价的路径是 5 -> 0 -> 1 。
- 路径途经单元格值之和 5 + 0 + 1 = 6 。
- 从 5 移动到 0 的代价为 3 。
- 从 0 移动到 1 的代价为 8 。
路径总代价为 6 + 3 + 8 = 17 。

示例 2:

输入:grid = [[5,1,2],[4,0,3]], moveCost = [[12,10,15],[20,23,8],[21,7,1],[8,1,13],[9,10,25],[5,3,2]]
输出:6
解释:
最小代价的路径是 2 -> 3 。 
- 路径途经单元格值之和 2 + 3 = 5 。 
- 从 2 移动到 3 的代价为 1 。 
路径总代价为 5 + 1 = 6 。

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 2 <= m, n <= 50
  • grid 由从 0m * n - 1 的不同整数组成
  • moveCost.length == m * n
  • moveCost[i].length == n
  • 1 <= moveCost[i][j] <= 100

方法一:DP

从倒数第二行开始往第一行遍历:

  • 对于这一行的每一个元素:
    • 计算出 从下一行的所有元素中来到这一行,增加值最小的那个
  • 这个元素加上下一行来的最小增加量

最终返回第一行中的最小元素即为答案。

  • 时间复杂度 O ( n m 2 ) O(nm^2) O(nm2),其中 s i z e ( g r i d ) = n × m size(grid)=n\times m size(grid)=n×m n n n m m m列)
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {
public:int minPathCost(vector<vector<int>>& grid, vector<vector<int>>& moveCost) {int n = grid.size(), m = grid[0].size();for (int i = n - 2; i >= 0; i--) {for (int j = 0; j < m; j++) {int m_ = 100000000;for (int k = 0; k < m; k++) {m_ = min(m_, grid[i + 1][k] + moveCost[grid[i][j]][k]);}grid[i][j] += m_;}}return *min_element(grid[0].begin(), grid[0].end());}
};
Python
# from typing import Listclass Solution:def minPathCost(self, grid: List[List[int]], moveCost: List[List[int]]) -> int:n, m = len(grid), len(grid[0])for i in range(n - 2, -1, -1):for j in range(m):m_ = 100000000for k in range(m):m_ = min(m_, grid[i + 1][k] + moveCost[grid[i][j]][k])grid[i][j] += m_return min(grid[0])

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/134563145

http://www.yayakq.cn/news/210784/

相关文章:

  • 黄石有没有做网站的电信的网做的网站移动网打不开该找电信还是移动
  • 南宁建网站必荐云尚网络aso关键词覆盖优化
  • 网站制作学习引流推广的方法
  • 网站开发的方法工程项目管理软件免费版
  • 极简个人网站模板凡科网建站系统源码
  • 新手做淘宝哪个网站比较好红河州建设局网站
  • 建设植绒衣架网站全屋定制十大名牌排名
  • 怎样说服公司做网站北京迈程网络网站建设公司
  • 经济网站建设广东网站建设网站
  • 苏州企业网站设计企业wordpress首页视频自动播放
  • 商务电商网站建设上线了网站
  • 网站改版如何做301wordpress导航菜单设置
  • 怎么做网站促收录买的网站可做360广告联盟吗
  • 做网站宣传网页设计公司兴田德润在哪儿
  • 做短链的网站怎么样做推广网站
  • 电脑版网站制作公司wordpress 翻译制作
  • 网站开发保密协议范本下载宁波市高新区建设局网站
  • 网站域名放国外石家庄建设网站哪家好
  • 网站 盈利模式网络服务器监控系统
  • 网上注册公司核名流程seo推广有哪些方式
  • 只做健康产品的网站阜宁做网站哪家公司好
  • 长春网站建设营销q479185700刷屏dedecms的网站如何添加个引导页
  • 杭州商城型网站建设网站推广服务网址
  • 泉州正规制作网站公司织梦网站地图调用全站文章
  • 西安做网站的在哪成华区住房和城乡建设厅网站
  • 网站建设不推广有用吗相册制作模板
  • 网站链接只显示到文件夹怎么做的ppt网站建设的目的
  • ppt做视频模板下载网站有哪些内容海南网站网络推广
  • 网站上的图片怎么替换徐州网站建设专家
  • 成都诗和远方网站建设创做网站