#include <iostream.h>
int maxsum(int *a,int n)
//于此处,你能看到上述思路2代码(指针)的优势
{
int max=a[0]; //全负情况,返回最大数
int sum=0;
for(int j=0;j<n;j++)
{
if(sum>=0) //如果加上某个元素,sum>=0的话,就加
sum+=a[j];
else
sum=a[j]; //如果加上某个元素,sum<0了,就不加
if(sum>max)
max=sum;
}
return max;
}
int main()
{
//int a[]={-1,-2,-3,-4};
int a[ ]={1, -2, 3, 10, -4, 7, 2, -5};
int size_t=sizeof(a)/sizeof(a[0]);
cout<<maxsum(a,size_t)<<endl;
// sizeof(a)是一个数组总共的字节数哈
// sizeof(a[0])就是一个元素占的字节数
// 这么一除就是这个数组滴长度了~
//cout<<maxsum(a,8)<<endl;
return 0;
}
int maxsum(int *a,int n)
//于此处,你能看到上述思路2代码(指针)的优势
{
int max=a[0]; //全负情况,返回最大数
int sum=0;
for(int j=0;j<n;j++)
{
if(sum>=0) //如果加上某个元素,sum>=0的话,就加
sum+=a[j];
else
sum=a[j]; //如果加上某个元素,sum<0了,就不加
if(sum>max)
max=sum;
}
return max;
}
int main()
{
//int a[]={-1,-2,-3,-4};
int a[ ]={1, -2, 3, 10, -4, 7, 2, -5};
int size_t=sizeof(a)/sizeof(a[0]);
cout<<maxsum(a,size_t)<<endl;
// sizeof(a)是一个数组总共的字节数哈
// sizeof(a[0])就是一个元素占的字节数
// 这么一除就是这个数组滴长度了~
//cout<<maxsum(a,8)<<endl;
return 0;
}