其实这道题自己想到的算法很简单很蠢,看了solution感觉这个去除重复元素的方式效率很高(O(n)),用c++写了下结果如下:
Success
Runtime: 24 ms, faster than 98.72% of C++ online submissions for Remove Duplicates from Sorted Array.
Memory Usage: 9.8 MB, less than 100.00% of C++ online submissions for Remove Duplicates from Sorted Array.
代码:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0){return 0;}
int i=0;
for(int j=1;j<nums.size();j++){
if(nums[i]!=nums[j]){i++;nums[i]=nums[j];}
}
return i+1;
}
};