gpt4 book ai didi

java - 返回排序数组中唯一数字的数量

转载 作者:行者123 更新时间:2023-11-30 08:46:13 25 4
gpt4 key购买 nike

<分区>

我被要求编写一个接受排序数组的方法,删除数组中找到的所有重复元素,然后在数组末尾为找到的每个重复元素放置一个 0。

它还应该返回在数组中找到的唯一元素的数量。

这是我的方法:

public static int removeDups(int[] arr) {
int j = 0;
int i = 1;
int numDups = 0;

while(i < arr.length) {
if (arr[i] == arr[j]) {
i++;
numDups++;
}
else {
arr[++j] = arr[i++];
}
}

for (int k = j+1; k < arr.length; k++) {
arr[k] = 0;
}

return (j);
}

它成功地找到了数组中的所有重复数字并将正确数量的 0 放在末尾,但它并不总是返回正确的唯一元素数量值。

例如,对于数组:

{ 6 10 19 21 23 26 27 36 38 45 }

唯一元素的数量应该是 10,但它返回 9。

我做错了什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com