<strong><span style="font-size:18px;">//
#include<iostream>
#include<vector>
using namespace std;
void ZeroLongSet(vector<int> &v)
{
if (v.empty())
return;
int maxdif = 0;
int temp=0,temp2;
int start=0, end=0;
for (size_t i = 0; i != v.size(); ++i)
{
temp2 = temp;
for (size_t j = i; j != v.size(); ++j)
{
temp2 = temp2 + v[j];
if (temp2 == temp)
{
if (j - i > maxdif)
{
maxdif = j - i;
start = i ;
end = j;
}
}
}
temp = temp + v[i];
}
if (end != 0)
{
for (size_t k = start; k != end+1; ++k)
cout << v[k] << " ";
}
}
int main(int argc, char *argv[])
{
vector<int> v;
int value;
while (cin >> value)
{
v.push_back(value);
}
ZeroLongSet(v);
system("pause");
return 0;
}</span></strong>一个长度为N的数组中包含正数 负数 0,请实现一个函数找出和为0的最长子数列
最新推荐文章于 2024-04-28 14:51:35 发布
本文提供了一段C++代码实现,用于在输入整数序列中找到最长的连续元素序列,并打印该序列。通过遍历并计算每个元素与其后续元素的和,找出和相等的最大间隔,从而确定连续元素序列。
694

被折叠的 条评论
为什么被折叠?



