原地删除有序数组中的相同元素,并输出返回新的数组的长度,并打印内容,空间复杂度为O(1)
public static void main(String[] args) {
int[] aa = { 1, 1, 1, 3, 3, 4, 4, 5, 6, 8, 8 };
int length = removeDuplicates(aa);
System.out.println("长度为:" + length);
for (int i = 0; i < length; i++) {
System.out.println(aa[i]);
}
}
public static int removeDuplicates(int[] nums) {
int len = nums.length;
if (len == 0)
return 0;
int i = 1, j = 1;
while (i < len) {
if (nums[i] != nums[i - 1]) {
nums[j] = nums[i];
j++;
}
i++;
}
return j;
}