文章目录
- 1.题目要求
- 2.代码
1.题目要求
- 2.1.1 Remove Duplicates from Sorted Array
- 26.删除有序数组中的重复项
2.代码
// 思路:把不重复的元素移到前面来
//时间复杂度O(n),空间复杂度O(1)
class solution
{
public:
int removeDuplicates(vector<int>& nums)
{
if (nums.empty() == 0)
{
return 0;
}
int result = 0;
for (int i = 1; i < nums.size(); ++i)
{
if (nums[result] != nums[i])
{
++result;
nums[result] = nums[i];
}
}
retuen result+1;
}
};
//时间复杂度O(1),空间复杂度O(1)
//http://c.biancheng.net/view/7372.html
//http://www.cplusplus.com/reference/algorithm/unique/
class solution
{
public:
int removeDuplicates(vector<int>& nums)
{
vector<int>::iterator it1 = unique(nums.begin(), nums.end());
return distance(nums.begin(), it1);
}
};