题目描述:https://leetcode.com/problems/remove-duplicates-from-sorted-array/
无脑算法:
class Solution {
public:
int removeDuplicates(vector<int> &nums) {
if (nums.size()==0||nums.size()==1) return nums.size();
int i=1;
while (i<nums.size())
if (nums[i]==nums[i-1]) nums.erase(nums.begin()+i);
else i++;
return nums.size();
}
};
使用unique函数更快:
class Solution {
public:
int removeDuplicates(vector<int> &nums) {
nums.erase(unique(nums.begin(),nums.end()),nums.end());
return nums.size();
}
};
本文介绍了一种去除有序数组中重复元素的算法,通过两种方法实现:一是使用循环遍历并删除重复项;二是利用C++标准库中的unique函数进行优化。详细展示了算法的实现代码,帮助读者理解如何高效地处理数组中的重复数据。

3万+

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



