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

政务公开网站建设情况软文写作兼职

政务公开网站建设情况,软文写作兼职,接项目做的网站,wordpress修改logo文章目录 931. 下降路径最小和算法原理代码实现 64. 最小路径和算法原理代码实现 174. 地下城游戏算法原理代码实现 931. 下降路径最小和 题目链接:931. 下降路径最小和 算法原理 状态表示: 经验题目要求:dp[i][j]表示到达[i,j]位置时&…

文章目录

    • 931. 下降路径最小和
      • 算法原理
      • 代码实现
    • 64. 最小路径和
      • 算法原理
      • 代码实现
    • 174. 地下城游戏
      • 算法原理
      • 代码实现

931. 下降路径最小和

题目链接:931. 下降路径最小和

算法原理

  • 状态表示:
    经验+题目要求:dp[i][j]表示到达[i,j]位置时,最小的下降路径

  • 状态转移转移方程:
    根据最近的一步划分问题
    image-20250212193827168

  • 初始化:
    状态转移方程会用到左中右三个位置,所以我们可以往外扩一圈,这样就不需要担心越界的问题
    image-20250212194155376

    这因为是最小值加上当前值,所以第一行全部设置为0不会影响元素表格第一行初始化
    image-20250212194344609
    然后其他的设置为+∞即可,不会影响结果
    image-20250212194601481

  • **填表顺序:**从上往下

  • **返回值:**最后一行最小值

代码实现

class Solution {
public:int minFallingPathSum(vector<vector<int>>& matrix){int n = matrix.size();vector<vector<int>> dp(n+1, vector<int>(n+2, INT_MAX));//初始化for(int j = 0; j < n+2; j++)    dp[0][j] = 0;for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){dp[i][j] = min(dp[i-1][j-1], min(dp[i-1][j], dp[i-1][j+1])) + matrix[i-1][j-1];}} int ret = INT_MAX;for(int j = 1; j <= n; j++){ret = min(ret, dp[n][j]);}return ret;}
};

64. 最小路径和

题目链接:64. 最小路径和

算法原理

感觉和上一篇文章的题目一样,只不过加了个选择最小的,直接看代码吧

image-20250212200917496

代码实现

class Solution {
public:int minPathSum(vector<vector<int>>& grid){int m = grid.size();int n = grid[0].size();vector<vector<int>> dp(m+1, vector<int>(n+1, INT_MAX));//初始化dp[0][1] = dp[1][0] = 0;for(int i = 1; i <=m; i++){for(int j = 1; j <= n; j++){dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i-1][j-1];}}    return dp[m][n];}
};

174. 地下城游戏

题目链接:174. 地下城游戏

算法原理

有点像小时候玩的按键设计的魔塔游戏。

  • **状态表示:**这里就不是以某个位置为结尾的xxx了,因为这个状态不仅受到前面的影响,还受到后面的影响。

    所以用以某个位置为起点的xxx,dp[i][j]表示从[i, j]位置出发,到达终点所需的最低初始健康点数

  • 状态转移方程:
    假设以[i,j]位置为起点,走到终点,它可以往下或者往右走
    image-20250212234200540
    假设此时dp[i][j]x,要走到下一步,最起码要大于或等于下个位置的最低血量

    image-20250212234314698
    然后两种情况取较小的即可

    image-20250212234422375

    Tips:
    此时[i, j]位置可能是一个加血包,如果太大,就会是负数了,这样就符合逻辑,所以还需要比较一下

代码实现

class Solution {
public:int calculateMinimumHP(vector<vector<int>>& dungeon){int m = dungeon.size();int n = dungeon[0].size();vector<vector<int>> dp(m+1, vector<int>(n+1, INT_MAX));dp[m][n-1] = dp[m-1][n] = 1;for(int i = m-1; i >= 0; i--){for(int j = n-1; j >= 0; j--){dp[i][j] = min(dp[i+1][j], dp[i][j+1]) - dungeon[i][j];dp[i][j] = max(1, dp[i][j]);}}    return dp[0][0];}
};	
http://www.hkea.cn/news/323801/

相关文章:

  • 深圳专业app网站开发企业网站建设原则是
  • 网站开发师职责柳州网站建设哪里有
  • 自己做的网站怎么改电话网络推广代运营公司
  • 做水果的网站有哪些google高级搜索
  • 怎么用网站做文案百度推广可以自己开户吗
  • 做的好的新闻网站排名优化
  • 购物网站开发功能百度联盟个人怎么接广告
  • 网站如何盈利流量费网站seo搜索引擎的原理是什么
  • 泰安房产价格最新域名年龄对seo的影响
  • 网站打不开怎么回事引流推广平台有哪些
  • 课程网站建设特色成都seo外包
  • 建设厅安全员证书查询网站外链seo推广
  • 邢台手机网站建设服务百度查重软件
  • 网站开发开题报告ppt竞价运营是做什么的
  • 网站代理怎么做的网站推广策划思路
  • 长沙网站seo公司百度权重5的网站能卖多少钱
  • 常德网站开发百度推广登录首页网址
  • 网站建设软件设计推广官网
  • 网站运营阶段站长之家app
  • discuz网站标题百度广告推广价格
  • 广州学校论坛网站建设疫情排行榜最新消息
  • 古董手表网站网络营销的主要方式和技巧
  • 做公司网站要那些资料百度电脑版下载官方
  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价