一个长度为N的数组中包含正数 负数 0,请实现一个函数找出和为0的最长子数列

来源:互联网 发布:日本外汇储备数据 编辑:程序博客网 时间:2024/05/21 06:28
<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>

0 0
原创粉丝点击