Lintcode42 Maximum Subarray II solution 题解
来源:互联网 发布:linux mint美化 编辑:程序博客网 时间:2024/06/13 04:09
【题目描述】
Given an array of integers, find two non-overlapping subarrays which have the largest sum.The number in each subarray should be contiguous.Return the largest sum.
Notice:The subarray should contain at least one number
给定一个整数数组,找出两个 不重叠 子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。
注意:子数组最少包含一个数
【题目链接】
http://www.lintcode.com/en/problem/maximum-subarray-ii/
【题目解析】
严格来讲这道题这道题也可以不用动规来做,这里还是采用经典的动规解法。Maximum Subarray 中要求的是数组中最大子数组和,这里是求不相重叠的两个子数组和的和最大值,做过买卖股票系列的题的话这道题就非常容易了,既然我们已经求出了单一子数组的最大和,那么我们使用隔板法将数组一分为二,分别求这两段的最大子数组和,求相加后的最大值即为最终结果。隔板前半部分的最大子数组和很容易求得,但是后半部分难道需要将索引从0开始依次计算吗?NO!!! 我们可以采用从后往前的方式进行遍历,这样时间复杂度就大大降低了。
源码分析:前向搜索和逆向搜索我们使用私有方法实现,可读性更高。注意是求非重叠子数组和,故求maxTwoSub时i 的范围为0, size - 2, 前向数组索引为 i, 后向索引为 i + 1.
复杂度分析:前向和后向搜索求得最大子数组和,时间复杂度 O(2n)=O(n)O(2n)=O(n)O(2n)=O(n), 空间复杂度 O(n)O(n)O(n). 遍历子数组和的数组求最终两个子数组和的最大值,时间复杂度 O(n)O(n)O(n). 故总的时间复杂度为 O(n)O(n)O(n), 空间复杂度 O(n)O(n)O(n).
【参考答案】
http://www.jiuzhang.com/solutions/maximum-subarray-ii/
- Lintcode42 Maximum Subarray II solution 题解
- Lintcode43 Maximum Subarray III solution 题解
- Lintcode45 Maximum Subarray Difference solution 题解
- Maximum Subarray Difference Solution
- 【LeetCode】【Solution】Maximum Product Subarray
- LeetCode题解:Maximum Subarray
- LeetCode题解:Maximum Subarray
- LeetCode题解:Maximum Subarray
- LeetCode53. Maximum Subarray题解
- [LeetCode]Maximum Subarray题解
- Lintcode44 Minimum Subarray solution 题解
- Lintcode138 Subarray Sum solution 题解
- Lintcode - Maximum Subarray II
- [刷题]Maximum Subarray II
- #42 Maximum Subarray II
- Maximum Subarray II
- Maximum Subarray II
- LeetCode题解:Maximum Product Subarray
- linux命令之which
- 类与对象.
- 【源码分析】CountDownTimer倒计时为何如此优雅
- redis学习教程之一基本命令
- Unity3DGame学习笔记(7):DOTween
- Lintcode42 Maximum Subarray II solution 题解
- Linux服务器上新增开放端口号
- Mac OS下如何查找当前正在dock/桌面打开的window,并发送键盘动作事件
- 运维-JVM监控之内存泄漏
- ContentNegotiatingViewResolver解析器
- 基于 Netty 的自定义帧高可靠性读取方案
- 主成分分析(PCA)和局部线性嵌入(LEE)原理详解
- 第146课:Spark面试经典系列之Yarn Cluster生产环境下JVM的OOM和Stack Overflow问题
- select2.4.0 动态搜索