现将数组numbers按照从小到大进行排序(从大到小亦可)然后依次比較相邻的两个元素,若两元素相同则为重复元素,将其存入数组duplication中
需要注意的是,如果存在多个(大于3个)相同的相邻元素时duplication數组也会出现重复的元素,如有四个相同的相邻元素2{2,2,2,2}按照前面的做法,duplication数组中会有三个2(因为连续三次比较结果都相同)不满足题目需求。
解决此bug的方法有两个(目前博主只能想到这两个):
1)根据连续比较次数判断是否应该将当前重复元素存入duplication数组。思路如下:
if(当前数组元素 == 下一个数组元素)
if(如果比较次数 == 1)
当前重复元素存入duplication数组;
比较次数 = 0;
2)利用集合Set的特性——元素唯一性简单介绍思路如下
定义一个集合对象set,遍历遍历排序后的数组numbers时在set中添加 满足if(当前数组元素 == 下一个数组元素 && set中不包含当前数组元素)的元素,