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

个人做淘宝客网站要备案域名注册服务网站

个人做淘宝客网站要备案,域名注册服务网站,网站建设沟通技巧,三叶草gw4429文章目录 写在前面Tag题目来源解题思路方法一:动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行…

文章目录

  • 写在前面
  • Tag
  • 题目来源
  • 解题思路
    • 方法一:动态规划
  • 写在最后

写在前面

本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……

专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:

  • Tag:介绍本题牵涉到的知识点、数据结构;
  • 题目来源:贴上题目的链接,方便大家查找题目并完成练习;
  • 题目解读:复述题目(确保自己真的理解题目意思),并强调一些题目重点信息;
  • 解题思路:介绍一些解题思路,每种解题思路包括思路讲解、实现代码以及复杂度分析;
  • 知识回忆:针对今天介绍的题目中的重点内容、数据结构进行回顾总结。

Tag

【动态规划】【数组】


题目来源

120. 三角形最小路径和


解题思路

方法一:动态规划

定义状态

f[i][j] 表示从三角形顶部到达位置 (i, j) 的最小路径,ij 分别表示 triangle 数组中的第 i 个数组中的第 j 个元素(索引从 0 开始)。

转移关系

由于每一步只能移动到下一行的「相邻节点」,因此要到达位置 (i, j) 处,上一步只能在位置 (i-1, j)(i-1, j-1)。我们需要在这两个位置中选择一个路径和较小的进行转移,转移关系为:

f [ i ] [ j ] = m i n ( f [ i − 1 ] [ j ] , f [ i − 1 ] [ j − 1 ] ) + t r i a n g l e [ i ] [ j ] f[i][j] = min(f[i-1][j], f[i-1][j-1]) + triangle[i][j] f[i][j]=min(f[i1][j],f[i1][j1])+triangle[i][j]

base case

边界情况有三种,一是初始位置 f[0][0] = triangle[0][0].

二是对于每个数组中的第一个位置,即 f[i][j]j = 0 的情况,上一个位置只能是 (i-1, j),因此此时有:

f [ i ] [ 0 ] = f [ i − 1 ] [ j ] + t r i a n g l e [ i ] [ j ] , i > = 1 f[i][0] = f[i-1][j] + triangle[i][j], i>=1 f[i][0]=f[i1][j]+triangle[i][j],i>=1

三是 i = j 时,上一个位置只能是 (i-1, j-1),因此有:

f [ i ] [ i ] = f [ i − 1 ] [ i − 1 ] + t r i a n g l e [ i ] [ i ] , i = j f[i][i] = f[i-1][i-1] + triangle[i][i], i=j f[i][i]=f[i1][i1]+triangle[i][i],i=j

最后返回

最后返回数组 f[n-1] 中的最小值。

实现代码

class Solution {
public:int minimumTotal(vector<vector<int>>& triangle) {int n = triangle.size();vector<vector<int>> f(n, vector<int>(n));f[0][0] = triangle[0][0];for (int i = 1; i < n; ++i) {f[i][0] = f[i-1][0] + triangle[i][0];for (int j = 1; j < i; ++j) {f[i][j] = min(f[i-1][j], f[i-1][j-1]) + triangle[i][j];}f[i][i] = f[i-1][i-1] + triangle[i][i];}return *min_element(f[n-1].begin(), f[n-1].end());}
};

复杂度分析

时间复杂度: O ( n 2 ) O(n^2) O(n2) n n n 是三角形的行数。

空间复杂度: O ( n 2 ) O(n^2) O(n2)。我们需要一个 n × n n \times n n×n 的二维数组存放所有的状态。


写在最后

如果您发现文章有任何错误或者对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度的方法,欢迎评论区交流。

最后,感谢您的阅读,如果有所收获的话可以给我点一个 👍 哦。

http://www.khdw.cn/news/33251.html

相关文章:

  • 网站建设微信文章天津seo推广
  • 模板网站开发定制网站维护费用一般多少钱
  • 类似 wordpress的软件百度seo如何优化关键词
  • php企业网站cmsb站怎么推广
  • 专门做美食的网站6网站关键词快速排名优化
  • 网站建设销售怎么样最近新闻
  • dz论坛网站后台设置百度seo推广计划类型包括
  • 宁夏网页设计网站百度信息流优化
  • 怎样办自己的网站查排名
  • 微信公众平台开发文档长沙关键词优化服务
  • 新网站怎么做seo优化免费发布平台
  • 商丘整站优化手机流畅优化软件
  • 网站用户粘性怎样在百度上做免费推广
  • 广州靠谱网站建设外包公司武汉seo优
  • 本地东莞网站建设百度推广按点击收费
  • 保定网站制作报价爱站网长尾关键词
  • 做旧工艺品网站营销推广怎么做
  • 做调查问卷赚钱网站有哪些重庆网页搜索排名提升
  • 山东建设工程信息网站深圳seo优化外包
  • 店铺域名是什么意思seo优化是怎么优化的
  • 网站制作的设备环境百度seo优化分析
  • 网站建设教程pdf下载2024年重大新闻简短
  • 台山网站开发seo外链怎么做能看到效果
  • 中国品牌100强排名重庆的seo服务公司
  • 网站架设百度关键词排名突然消失了
  • 某购物网站开发项目唐山seo快速排名
  • 高考写作网站网站建设优化
  • 单页营销网站设计微信scrm系统
  • 无锡做网站需要多少钱天津网络广告公司
  • seo网站系统网站怎么做推广