Maximum Subarray
来源:互联网 发布:希捷 数据恢复服务 编辑:程序博客网 时间:2024/05/16 12:23
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [−2,1,−3,4,−1,2,1,−5,4]
,
the contiguous subarray [4,−1,2,1]
has the largest sum = 6
.
click to show more practice.
More practice:
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.
题目解析:
(1)保证左边的sum是最大的。
(2)考虑边界条件n == 1
#include <iostream>using namespace std;int maxSubArray(int A[], int n) {int maxSum = INT_MIN;int sum = 0;if(n == 1){return A[n-1];}int i = 0;while(i < n){if(A[i] > sum + A[i])sum = A[i];elsesum = sum + A[i];if(maxSum < sum)maxSum = sum;i++;}return maxSum;}int main(void){int A[] = {-2,1,-3,4,-1,2,1,-5,4};cout << maxSubArray(A, 9) << endl; system("pause");return 0;}
0 0
- maximum subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- HDOJ 5011 Game
- 共享三年嵌入式项目资料(源码+实物图+原创)(申精帖)
- 有两个指针pa,pb分别指向有两个数,a,b,请写一个函数交换两个指针的指向,也就是让pa指向b,让pb指向a
- HDOJ 5007 Post Robot
- 获取路由器超级用户权限(你懂得...)
- Maximum Subarray
- 实现一个计算器
- HDU - 5012 Dice(BFS)
- python的优先权队列
- 图片像素对比OpenCV实现,实现人工分割跟算法分割图像结果的对比
- 图的深度遍历(DFS)
- 纪念逝去的昨天(1)
- Java学习笔记之Java基础
- html中input文本框,初始里边有文字提示,当点击时,文字消失