动态规划

Posted aichangetheworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态规划相关的知识,希望对你有一定的参考价值。

思路:先从最短、最小的考虑。

   求一个比较麻烦的或者说规模较大的问题的最优解,先将这个大规模的问题划分成多个小问题,所以说要从最小问题考虑当前需要的问题,比如说收益、步数等。然后将那些大规模的问题可以变成小规模的加上其他规模的问题,再逐渐分解。

   再将上面这段话换种表达方式。为了求解规模为n 的原问题,我们先求解形式完全一样,但规模更小的子问题。

技术图片

 问题:求解最大连续子序列和问题

问题描述:给定一个有n个整数的序列,要求求出其中最大连续子序列的和。

问题求解:

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 算法分析:maxSubSum() 的时间复杂度为O(n)。

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

以上是关于动态规划的主要内容,如果未能解决你的问题,请参考以下文章

算法动态规划 ② ( 动态规划四要素 | 动态规划状态 State | 动态规划初始化 Initialize | 动态规划方程 Function | 动态规划答案 Answer )

算法动态规划 ② ( 动态规划四要素 | 动态规划状态 State | 动态规划初始化 Initialize | 动态规划方程 Function | 动态规划答案 Answer )

算法动态规划 ① ( 动态规划简介 | 自底向上的动态规划示例 | 自顶向下的动态规划示例 )

算法动态规划 ① ( 动态规划简介 | 自底向上的动态规划示例 | 自顶向下的动态规划示例 )

算法动态规划 ③ ( LeetCode 62.不同路径 | 问题分析 | 自顶向下的动态规划 | 自底向上的动态规划 )

算法动态规划 ③ ( LeetCode 62.不同路径 | 问题分析 | 自顶向下的动态规划 | 自底向上的动态规划 )