首页 > 编程语言 > 详细

一个数组中连续子数组的最大和

时间:2016-08-27 23:42:26      阅读:289      评论:0      收藏:0      [点我收藏+]

一个数组中连续子数组的最大和

技术分享

技术分享

//连续子数组的最大和    
//{ 1, -2, 3, 10, -4, 7, 2, -5 };//最大子数组18    
#include<iostream>    
using namespace std;    
bool g_InValid = false;    
int FindGreatSumOfSubArray(int* arr, int size)    
{    
	if (arr == NULL || size <= 0)    
		g_InValid = true;    
	g_InValid = false;    
	int curSum = 0;    
	int greatSum = 0x80000000;    
	for (int i = 0; i < size; ++i)    
	{    
		if (curSum <= 0)    
		{    
			curSum = arr[i];    
		}    
		else    
			curSum += arr[i];    
		if (curSum>greatSum)    
			greatSum = curSum;    
	}    
	return greatSum;    
}    
void Test1()    
{    
	int arr[] = { 1, -2, 3, 10, -4, 7, 2, -5 };//最大子数组18    
	if (!g_InValid)    
	{    
		cout << FindGreatSumOfSubArray(arr, sizeof(arr) / sizeof(arr[0])) << endl;    
	}    
}


本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1843353

一个数组中连续子数组的最大和

原文:http://10541556.blog.51cto.com/10531556/1843353

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!