-
比较简单的一道题目
2.#include
using namespace std;
#define SWAP(x,y) {(x)=(x)+(y);(y)=(x)-(y);(x)=(x)-(y);}
int maxT(int a, int b)
{
if (a > b)
{
return a;
}
return b;
}
int MaximumSubarray(int intarr[], int length)
{
int res = 0;
int sum = 0;
for (int i = 0; i < length; i++)
{
sum = sum + intarr[i];
if (sum>0)
{
res = maxT(res, sum);
}
else
{
sum = 0;
}}
if (res == 0)
{
int max1 = intarr[0];
for (int i = 1; i < length; i++)
{
if (intarr[i] > max1)
{
max1 = intarr[i];
}
}
res = max1;
}
return res;
}
int main()
{
int intarr[9] = { -2,1,-3,4,-1,2,1,-5,4 };
cout << MaximumSubarray(intarr, 9) << endl;
int a = 10;
int b = 55;
cout << a << " " << b << endl;
SWAP(a, b);
cout << a <<" "<< b << endl;
system(“pause”);
return 0;
}
Maximum Subarray 最大子数组
最新推荐文章于 2023-06-27 23:05:23 发布