在一道初赛题上看到len=unique(a+1,a+n+1)-a后面是否要跟上-1的选项,然后写了一个代码测试一下。
当输入数据是
7
3 3 2 2 4 5 7
时输出结果是
6
2 2 1 1 3 4 7
5
2 2 1 1 3 4 5
其中前两行对标第一种情况(就是len不-1),后两行对应第二种情况。不难发现第一种情况中最后一个数出错了。
然后又整了一组输入数据:
9
1 1 4 5 1 4 114 7 9
这组数据却没有问题。
所以我想弄明白两个情况:
- 如果在
unique时候对离散化后的len不进行-1会出错吗?
- 如果不进行
-1的话,离散化数组的最后一个数字是怎么得来的?