Mickey's Blog ·

【leetCode】动态规划加课——附加题

题:

N 个元素的一维数组(A[0],A[1], A[2]...,A[N-1])其中有正数也有负数, 求连续子数组和的最大值

这道题的暴力做法其实就是把所有子数组的长度全都罗列出来,每个长度都暴力组合一遍,最终比较出最大的,但虽说是讲的动态规划的例子,但实际上他把动态规划的经典构型给抽象了,代码中的关键,在于他抓住了这道题的一个核心特征,即只要前面的数的和是正的,那么继续连接,如果前面的数的和是负的,那么重新开始。这样这道题就简单一些了,解法也没有给出一个以 条件为维度的数组来存储,很不方便我们进行其他题目的平移。贴上这题的代码

无标题.png

这是c的代码,但相信大家也能看的比较明白,多船的int n是为了控制数组申请内存大小,free是释放申请到的内存

https://www.coder4.com/archives/3198