从排序数组中删除重复项
描述
给定一个排序数组,就地删除重复项,以便每个元素只出现一次并返回新的长度。
不要为另一个数组分配额外的空间,您必须使用常量内存就地执行此操作。
例如,给定输入数组 A = [1,1,2]
,
您的函数应返回 length = 2,并且 A
现在是 [1,2]。
分析
无
代码
// Remove Duplicates from Sorted Array
// 时间复杂度O(n),空间复杂度O(1)
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.empty()) return 0;
int index = 1;
for (int i = 1; i < nums.size(); i++) {
if (nums[i] != nums[index - 1])
nums[index++] = nums[i];
}
return index;
}
};
相关题目
上一篇: 数组