#include <iostream>
#include <time.h>
#include <vector>
using namespace std;
/*
Remove duplicates from sorted array II
在有序序列中删除重复两次以上数据
*/
int Solution(vector<int> &vec)
{
if (vec.size() <= 2)
return vec.size();
int index = 1;
int len = vec.size();
for (int i = 2; i < len; i++)
{
while (vec[i] != vec[index-1])
{
vec[++index] = vec[i];
}
}
return index + 1;
}
int main()
{
int arr[10] = { 1,1,2,2,3,3,3,3,9,9 };
vector<int> vec(&arr[0],&arr[10]);
int len = Solution(vec);
for (int i = 0; i < len; i++)
{
cout << vec[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
#include <time.h>
#include <vector>
using namespace std;
/*
Remove duplicates from sorted array II
在有序序列中删除重复两次以上数据
*/
int Solution(vector<int> &vec)
{
if (vec.size() <= 2)
return vec.size();
int index = 1;
int len = vec.size();
for (int i = 2; i < len; i++)
{
while (vec[i] != vec[index-1])
{
vec[++index] = vec[i];
}
}
return index + 1;
}
int main()
{
int arr[10] = { 1,1,2,2,3,3,3,3,9,9 };
vector<int> vec(&arr[0],&arr[10]);
int len = Solution(vec);
for (int i = 0; i < len; i++)
{
cout << vec[i] << " ";
}
cout << endl;
system("pause");
return 0;
}