leetcode-53 Maximum Subarray
来源:互联网 发布:windows loader v3.27 编辑:程序博客网 时间:2024/05/01 23:57
动态规划(DP)--最大连续子序列和,此题也可以用分治法求解
关于动态规划算法,可以查看前几篇文章
例: A=[-2 ,5 ,3 ,-6 ,4 ,-8 ,6]中的最大子数组之和为8(其中5+3=8)。.
请用动态规划方法解决,时间复杂度为O(n)
算法思想:
设b[j]表示第j处,以a[j]结尾的子序列的最大和。
注意:b[j]并不是前j-1个数中最大的连续子序列之和,而只是包含a[j]的最大连续子序列的和。我们求出b[j]中的最大值,即为所求的最大连续子序列的和。
递推公式:b[j]=max{a[j],b[j-1]+a[j]}
To devise a dynamic programming formula, let us assume that we are calculating the maximum sum of subarray thatends at a specific index(来自cleancode handbook leetcode,官方的那个pdf)
我的代码
int maxSubArray(int A[], int n) { int max = A[0]; int sum = A[0]; int i; for(i = 1; i < n; i++){ sum += A[i]; sum = sum > A[i] ? sum : A[i]; if(sum > max) max = sum; } return max;}
参考:http://blog.sina.com.cn/s/blog_55829c8b0101f8e5.html
0 0
- LeetCode 53: Maximum Subarray
- LeetCode(53)Maximum Subarray
- [leetcode 53] Maximum Subarray
- leetcode-53 Maximum Subarray
- leetcode || 53、Maximum Subarray
- leetcode[53]-Maximum Subarray
- LeetCode---(53)Maximum Subarray
- leetcode 53: Maximum Subarray
- leetcode-53-Maximum Subarray
- Leetcode#53 Maximum Subarray
- LeetCode(53) Maximum Subarray
- Leetcode#53||Maximum Subarray
- leetcode 53 Maximum Subarray
- LeetCode 53: Maximum Subarray
- leetcode[53]Maximum Subarray
- 【LEETCODE】53-Maximum Subarray
- leetcode #53 Maximum Subarray
- Leetcode 53 - Maximum Subarray
- 《Xcode基本用法》如何运行C/C++/Object-C程序
- strstr的非KMP实现方法
- hdu2126---Buy the souvenirs(01背包方案数)
- hdu1202
- LoadRunner教程08:HTML和URL比较
- leetcode-53 Maximum Subarray
- 关于 PCRE_UTF8 support 问题
- 习大大重要讲话概要
- 试用zip构造字典
- 关于Java中内存结构
- MySQL新建用户,授权,删除用户,修改密码,远程登陆,亲测可行
- 单点登录之CAS SSO从入门到精通(第三天)
- 跳过Mysql验证
- 二叉查找树