用桶排序试一试
by czx6666 @ 2024-01-13 12:36:39
用unique试一试unique(a,a+n)
by EgoStrip @ 2024-01-13 12:46:50
@[Wardin](/user/1214348) 您好:
在去重的过程中,此代码:
```c++
for (int i = 1; i <= n; i ++)
{
if (b[a[i]] > 1)
{
b[a[i]] = 1;
n1 --;
}
}
```
错误,因为将 $a[i]$ 去重时,$a[i]$ 有可能不仅仅重复了一次,如:
```c++
5
1 1 1 1 1
```
此组样例, $1$ 不仅仅重复了 $1$ 次。
所以要将 $n1$ 减掉重复的个数 $b[a[i]]-1$ 而并非 $1$。
修改后代码如下:
```c++
for (int i = 1; i <= n; i ++)
{
if (b[a[i]] > 1)
{
n1 = n1 - b[a[i]] + 1;
b[a[i]] = 1;
}
}
```
修改后即可通过,希望能为您提供帮助!
by zengziqvan @ 2024-01-13 13:01:44
@[zengziqvan](/user/935908) 谢谢,已过。
by Wardin @ 2024-01-14 19:11:37