如何通过动态规划获取数组不相邻元素的最大和值

时间:2024-10-31 21:19:02

1、基于动态规划思想,实现算法,步骤如下:1. 创建一个数组 dp,其第 i 项代表包含参数数组 nums 第 i 剐疫柩缓项的所有不相邻元素的最大和值。并有公式: dp[i] = nums[i] + max( dp[i-2], dp[i-3] ) 注意:其中 i>=3。

如何通过动态规划获取数组不相邻元素的最大和值

2、编写本地测试主方法。

如何通过动态规划获取数组不相邻元素的最大和值

3、运行本地测试主方法,观察控制台输出,符合预期,本地测试通过。

如何通过动态规划获取数组不相邻元素的最大和值

4、平台提交算法,测试通过。

如何通过动态规划获取数组不相邻元素的最大和值

5、算法复杂度分析:算法需要遍历一遍参数数组,因此时间复杂度为 O(n),n即参数数组的长度;需要创建一个长度为 n 的数组辅助计算,因此空间复杂度也是 O(n)。

如何通过动态规划获取数组不相邻元素的最大和值
© 手抄报圈