如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。

#include<iostream>
#include<vector>
using namespace std;
int Huiwen(vector<int> num) {
int result = 0;
int n = num.size();
int i = 0, j = n-1;
int left = num[i], right = num[j];
while (i < j) {
if(left < right) {
i++;
left += num[i];
result++;
}
else if (left >right) {
j--;
right += num[j];
result++;
}
else {
i++;
j--;
left = num[i];
right = num[j];
}
}
return result;
}
int main() {
int n;
cin >> n;
vector<int> num(n);
for(int i = 0; i < n; i++){
cin >> num[i];
}
cout << Huiwen(num) << endl;
return 0;
}
本文介绍了一段C++代码,用于检查输入的整数序列是否为回文序列。通过定义Huiwen函数,通过双指针技巧遍历并比较序列的前后元素,计数不匹配的次数。这对于理解序列对称性在编程中的应用非常有用。
579

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



