九章算法面试题87 最小子数组
来源:互联网 发布:mac桌面的文件不见了 编辑:程序博客网 时间:2024/04/28 19:42
原文网址
www.jiuzhang.com
问题详情
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。在线评测本题:
http://www.lintcode.com/zh-cn/problem/minimum-subarray/解答
这道题和max subarray很类似,我用local 和 global 的dp方式阔以解决这道那么我们来看动态规划的四个要素分别是什么?
State:
localmin[i] 表示以当前第i个数最为结尾的最小连续子数组和。
globalmin[i] 表示以当i个数里面(可以不以第i个作为结尾)的最小连续子数组和。
Function:
localmin[i] = min(localmin[i - 1] + nums.get(i), nums.get(i));
globalmin[i] = min(globalmin[i - 1], localmin[i]);
initialize:
globalmin[0] = localmin[0] = nums.get(0);
answer:
globalmin[n-1]/
优化:
由于这道题第i个状态只跟i-1的状态有关,所以这道题还可以用滚动数组参考代码:
http://www.jiuzhang.com/solutions/minimum-subarray/ 0 0
- 九章算法面试题87 最小子数组
- 九章算法面试题31 子数组的最大差
- 九章算法面试题12 最大子区间/矩阵
- 九章算法面试题29 子矩阵的最大公约数
- 九章算法面试题34 最长01子串
- 九章算法面试题34 最长01子串
- [算法]数组面试题-子数组之和
- 九度OJ 1504 把数组排成最小的数【算法】-- 2009年百度面试题
- 九章算法面试题5 有序数组合并
- 九章算法面试题33 数组波峰
- 九章算法面试题39 分割数组
- 九章算法面试题84 奇偶分割数组
- 九章算法面试题86 合并排序数组
- 九章算法面试题75 二叉树的最小深度
- 九章算法面试题3 找坏球
- 九章算法面试题28 链表找环
- 九章算法面试题71 平方根
- 九章算法面试题74 中位数
- 文件随机读写实现...fseek
- 九章算法面试题86 合并排序数组
- 后端学习资料分享
- 2016的渲染
- 应用程序进入后台之后的延时操作
- 九章算法面试题87 最小子数组
- myeclipse如何修改jsp的默认编码
- ViewController的View创建过程
- CocosForWinWithFramework-v2.3.3的bug
- 解决brew update执行失败的方法
- 如何把root登陆的shell改为csh?
- feof & ferror & clearerr 的使用...
- NSData所有API学习
- roslaunch文件中的局部参数与全局参数