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

怎么在网上接网站建设pc做网站服务器

怎么在网上接网站建设,pc做网站服务器,wordpress oa,武义建设局官方网站题目: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位…

题目:

给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径  最小和 。

下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置 (row, col) 的下一个元素应当是 (row + 1, col - 1)(row + 1, col) 或者 (row + 1, col + 1) 。

示例 1:

输入:matrix = [[2,1,3],[6,5,4],[7,8,9]]
输出:13
解释:如图所示,为和最小的两条下降路径

示例 2:

输入:matrix = [[-19,57],[-40,-5]]
输出:-59
解释:如图所示,为和最小的下降路径

提示:

  • n == matrix.length == matrix[i].length
  • 1 <= n <= 100
  • -100 <= matrix[i][j] <= 100

解法:动态规划

class Solution {
public:// void print(vector<vector<int>> ans) {//     int n = ans.size();//     for (int i = 0; i < n; i++) {//         for (int j = 0; j < n; j++) {//             cout << ans[i][j] << " ";//         }//         cout << endl;//     }// }int minFallingPathSum(vector<vector<int>>& matrix) {int n = matrix.size();vector<vector<int>> ans(n, vector<int>(n, 0));// 初始第一行for (int i = 0; i < n; i++) {ans[0][i] = matrix[0][i];}for (int i = 1; i < n; i++) {for (int j = 0; j < n; j++) {if (j == 0) {ans[i][j] = min(matrix[i][j] + ans[i - 1][j],matrix[i][j] + ans[i - 1][j + 1]);} else if (j == n - 1) {ans[i][j] = min(matrix[i][j] + ans[i - 1][j],matrix[i][j] + ans[i - 1][j - 1]);} else {ans[i][j] = min(matrix[i][j] + ans[i-1][j+1], min(matrix[i][j] + ans[i-1][j], matrix[i][j] + ans[i-1][j-1]));}}}return *min_element(ans[n-1].begin(), ans[n-1].end());}
};

代码解释

  1. 初始化

    • n 是矩阵的大小。

    • ans 是一个 n x n 的二维数组,用于存储从第一行到当前位置的最小路径和。

  2. 初始化第一行

    • 因为第一行的每个元素本身就是起点,所以 ans[0][i] 直接等于 matrix[0][i]

  3. 动态规划填充 ans 数组

    • 从第二行开始(i = 1),对于每一行的每个元素 matrix[i][j],计算从上一行的三个可能位置(左上、正上、右上)到当前位置的最小路径和。

    • 如果当前元素在第一列(j == 0),则只能从正上方或右上方移动过来。

    • 如果当前元素在最后一列(j == n - 1),则只能从正上方或左上方移动过来。

    • 否则,可以从左上方、正上方或右上方移动过来。

    • 通过 min 函数选择这三个可能路径中的最小值,并加上当前元素的值,更新 ans[i][j]

  4. 返回结果

    • 最终,ans 数组的最后一行存储了从第一行到最后一行的所有可能路径的最小和。

    • 使用 min_element 函数找到最后一行的最小值,并返回它。

复杂度分析

  • 时间复杂度O(n^2),因为需要遍历整个矩阵。

  • 空间复杂度O(n^2),因为需要存储 ans 数组。

http://www.dtcms.com/wzjs/543499.html

相关文章:

  • 网站拒绝了您的访问wordpress h标签
  • 嘉兴网站建设推广网站商业授权含义
  • 怎么做网站推广方案怎么减少wordpress网站cpu占用
  • 电商网站设计文档长沙官网优化公司
  • 无障碍浏览网站怎么做网站建设交印花税吗
  • 网站建设策划书建立平台网站要多久
  • 百度智能建站系统网站建设后的团队总结
  • 网站建设应该学什么软件九创 wordpress
  • 海洋cms怎么做电影网站做网站有多赚钱
  • 做健康食品的网站网站群信息管理系统
  • 广州设计网站建设网站建设工作室是干嘛的
  • 网站名称和备案室内设计公司招聘
  • 网站建设需要版块seo网站排名优化
  • 顺营销官方网站用php做的网站怎么上传
  • 工程建设标准网官方网站python培训价格
  • 视频网站建设报价单网站数据库模板
  • 免费建造网站系统企业网站做电脑营销
  • 建立网络平台要多少钱如何申请网站优化工作
  • 合肥住房和建设厅网站首页网站建设管理典型经验材料
  • 制作企业网站电子商务网站的建设目标是什么
  • 电子商务网站建设的主要风险wordpress多人会议插件
  • 做电影网站会不会侵权wordpress怎么连接主机名
  • 那个网站可以做恒指 买涨买跌叫别人做网站权重被转移了
  • 网上建设银行网站网站开发国内外研究状况
  • 南京网站优化报价滨海网站建设服务商
  • 永康网站推广电商平台取名字大全
  • 给公司做网站液压电机东莞网站建设
  • 克隆网站首页做单页站几个文件pc网站增加手机站
  • 网站想换一个空间怎么办外贸网站logo
  • 站库设计网站官网网站内的搜索怎么做