給定一個排序數組,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。
不要使用額外的數組空間,你必須在 原地 修改輸入數組 並在使用 O(1) 額外空間的條件下完成。
示例 1:
給定數組 nums = [1,1,2], 函數應該返回新的長度 2, 並且原數組 nums 的前兩個元素被修改爲1
,2
。 你不需要考慮數組中超出新長度後面的元素。
示例 2:
給定 nums = [0,0,1,1,1,2,2,3,3,4], 函數應該返回新的長度 5, 並且原數組 nums 的前五個元素被修改爲0
,1
,2
,3
,4
。 你不需要考慮數組中超出新長度後面的元素。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int size = nums.size();
if(size <=1) {
return size;
}
int i =0;
int temp = nums[i];
for (int j = i; j<size; j++){
if (nums[j]==temp ){
;
} else{
temp = nums[j];
i++;
nums[i] = nums[j]; //哈哈哈要在這裏進行賦值操作啊 這一點很重要
}
}
return i +1;
}
};
// 加油加油 Try to make yourself more excellent