最大子数组的求和方法一(非动态规划)

来源:互联网 发布:淘宝美胸大赛全套图片 编辑:程序博客网 时间:2024/05/11 20:07
/* FindGreatestSumofSubArray.cpp : 定义控制台应用程序的入口点。@mishidemudong @2015-5-22*/#include "stdafx.h"int FindGreatestSum(int *A, int length){int CurentSum = A[0];int StateSum = 0;if (A == NULL || length <= 0)return 0;for (int i = 1; i < length; ++i){if (CurentSum <= 0)    //如果和都小于0了,就放弃前面的和,重新等于当前数,并从当前数开始计算和CurentSum = A[i];     elseCurentSum += A[i];if (CurentSum>StateSum)  //记录最大的和,并保存在StateSum中;StateSum = CurentSum; }return StateSum;}int _tmain(int argc, _TCHAR* argv[]){int A[] = { 1, -2, 1, 10, -4, 7, 9, 0, 2, -5 };printf("%d", FindGreatestSum(A, 9));return 0;}

0 0
原创粉丝点击