一:题目
二:上码
// class Solution {
// public:
// int removeDuplicates(vector<int>& nums) {
// //排序
// sort(nums.begin(),nums.end());// //调用unique()将vector当中的相同元素 放到 容器的最后面
// //unique(nums.begin(),nums.end());// //删除容器最后面的重复元素
// nums.erase(unique(nums.begin(),nums.end()),nums.end());// return nums.size();// }
// };class Solution {
public:int removeDuplicates(vector<int>& nums) {int fastIndex = 0;int slowIndex = 0;for (int fastIndex = 0; fastIndex < nums.size(); fastIndex++) {if(nums[slowIndex] != nums[fastIndex]) {nums[slowIndex+1] = nums[fastIndex];//我们这里加一 slowIndex++; //这样的话前面就算有多个相同的数,那么的话//当我们遇见不相同的数的时候 还可以保留着 我们前面的那个数//而且下次再进行比较的时候 就是我们刚添加的数}}//这里加一是因为我们要返回的是元素的个数 (slowIndex是下标)return slowIndex+1;}
};