有序数组删除重复元素
class Solution { public: int removeDuplicates(vector<int>& nums) { if(nums.size() == 0) return 0; if(nums.size() == 1) return 1; int i = 1, j = 1; while(j < nums.size()) { if(nums[j-1] != nums[j]) nums[i++] = nums[j]; j++; } return i; } };
思路:
1.数组长度为1 0的时候单独处理。
2.大于的时候,set 两个 index,i 和 j 。当数组的第 j 个元素和第 j - 1 个元素不同的时候,数组的第 i 个元素 set 为 nums [ j ]。
其实就是遍历数组,找出不重复的元素,放在数组的前面。