你可以使用一个额外的数组来存储不重复的元素,然后将这个数组复制回原始数组。

以下是一个示例代码:

public static int removeDuplicates(int[] nums) {
    if (nums.length == 0) {
        return 0;
    }
    int index = 0;
    for (int i = 1; i < nums.length; i++) {
        if (nums[i] != nums[index]) {
            index++;
            nums[index] = nums[i];
        }
    }
    return index + 1;
}

这段代码使用了双指针的方法,其中一个指针(index)指向当前不重复元素应该存储的位置,另一个指针(i)依次遍历整个数组。当遇到一个不重复的元素时,将其复制到index位置,并将index加1。最后返回index + 1即为不重复元素的个数。

你可以通过调用这个方法来移除数组中的重复项,只保留一个。例如:

int[] nums = {1, 1, 2, 2, 3, 4, 5, 5};
int length = removeDuplicates(nums);
for (int i = 0; i < length; i++) {
    System.out.print(nums[i] + " ");
}

输出结果为:1 2 3 4 5

java移除数组中的重复项只保留一个

原文地址: https://www.cveoy.top/t/topic/iL7J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录