#include <iostream>
#include <vector>
using namespace std;
const int N = 1e5+10;
vector<int> a[N];
//双指针 自增(j标记最后一个合法序列的位置)
int remove_duplicate(vector<int> &nums)
{
int j = 0,n = nums.size();
for (int i = 0;i<n;i++)
{
if ( nums[i]!= nums[j])
{
nums[++j] = nums[i];
}
}
return j+1;//j是下标,长度+1;
}
int main()
{
int n;
cin >> n;
for (int i = 0;i<n;i++) cin >> a[i];
int ans = remove_duplicate(a);
cout<<ans;
return 0;
//返回最终答案的长度即可
}
不是算法有疑惑,是对编译报错不理解,为啥会报错,要怎么改嘞?
可以了,你变量没定义