【发布时间】:2015-10-22 07:25:30
【问题描述】:
在没有 2 个元素相邻的数组中求最大和。在这种情况下,还有一个条件是第一个和最后一个元素也不应该放在一起。
如果没有最后一个条件,那么我开发了以下代码,其中我获取两个变量 incl 和 excl 并找出值。如下:
#include <iostream>
using namespace std;
int main (void)
{
int i,n;
cin>>n;
int arr[100];
for ( i = 0; i < n; i++ )
cin>>arr[i];
int incl,excl,excls;
incl = arr[0];
for ( i = 1; i < n; i++ )
{
if (incl > excl)
excls = incl;
else
excls = excl;
incl = excl + arr[i];
excl = excls;
}
if (incl > excl)
cout<<incl;
else
cout<<excl;
cout<<"\n";
return 0;
}
如何针对这种特殊情况进行修改?谢谢!
【问题讨论】:
-
如何区分连续元素?
标签: c++ arrays algorithm c++11