1. 程式人生 > >返回一個二維整數陣列中的最大子陣列的和

返回一個二維整數陣列中的最大子陣列的和

#include<iostream>
using namespace std;
int max(int a,int b)
{
    if(a>b)
    {return a;
    }
    else 
    {return b;
    }
}
int maxsum(int a,int n)
{
    int i;
    int maxsofar=0;//maxsofar記錄到目前為止的最大值
    int maxendinghere=0;//maxendinghere記錄從當前位置開始網前幾個連續的數的和的最大值
    for(i=0;i<n;i++)
    {
        maxendinghere
=max(maxendinghere+a[i],0); maxsofar=max(maxsofar,maxendinghere); } return maxsofar; } int main() { int n,a i=0; cout<<"請輸入陣列:"; cin>>a[i]; int max=maxsum(a,n); cout<<最大子陣列的和為:"<<max<<endl; return 0; }