很简单。
class Solution { public: int removeDuplicates(vector<int>& a) { int n=a.size(); if (!n) return 0; int i=0,j=1; while(j<n){ if(a[j]>a[i]) {a[++i]=a[j];j++;} else j++; } while(a.size()>i+1) a.pop_back(); return i+1; } };
本文介绍了一种使用双指针技术在C++中去除向量中重复元素的高效算法。通过遍历向量并比较相邻元素,该算法能够保留唯一元素并返回更新后的向量长度。
很简单。
class Solution { public: int removeDuplicates(vector<int>& a) { int n=a.size(); if (!n) return 0; int i=0,j=1; while(j<n){ if(a[j]>a[i]) {a[++i]=a[j];j++;} else j++; } while(a.size()>i+1) a.pop_back(); return i+1; } };
转载于:https://www.cnblogs.com/travelller/p/9475913.html

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