题目如图:

比较简单,代码如下:
private static int removeDuplicates(int[] nums) {
int length = nums.length;
int headIndex = 0, tailIndex = 1;
for (; tailIndex < length; tailIndex++) {
// 比较 headIndex tailIndex 元素
// 不相等则交换 headIndex 向后移动一位
if (nums[headIndex] != nums[tailIndex]) {
nums[++headIndex] = nums[tailIndex];
}
}
// 因为是索引 所以数组长度加 1
return headIndex + 1;
}

本文介绍了一种简单有效的算法,用于去除整型数组中的重复元素。通过双指针技巧,该算法能高效地遍历数组并保留唯一元素,最终返回处理后数组的有效长度。

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



