problem:
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
For example,
Given input array A = [1,1,2],
Your function should return length = 2, and A is now [1,2].对已序数组去重
thinking:
(1)要在原址操作,不允许申请额外的数组空间
(2)注意给定的数组是已序的
code:
class Solution {
public:
int removeDuplicates(int A[], int n) {
int count=1;
if(n<2)
return n;
for(int i=1;i<n;i++)
{
if(A[i]!=A[i-1])
{
A[count]=A[i];
count++;
}
}
return count;
}
};
本文介绍了一种在原地对已排序数组进行去重的方法,不使用额外空间,并保持元素唯一出现。通过一次遍历实现高效处理,返回新的有效长度。

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



