如何顺序对比分析得到与原所有数组不重复的数字(包括数字和连续数字)
时间: 2024-03-24 14:36:33 浏览: 14
对于原数组,我们可以先进行排序,然后遍历数组,找到所有不重复的数字。
具体实现可以参考以下步骤:
1. 对原数组进行排序,可以使用快速排序、归并排序等算法。
2. 创建一个新数组,记录不重复的数字。
3. 遍历排序后的原数组,如果当前数字与前一个数字不同,或者当前数字是连续数字的结尾,则将其加入新数组中。
4. 返回新数组作为结果。
需要注意的是,对于连续数字,我们需要判断其结尾,可以通过判断当前数字和下一个数字的差是否为1来实现。同时,如果原数组中存在重复数字,我们需要在第3步中加入额外的判断,避免将重复数字加入新数组中。
下面是一个示例代码实现:
```python
def get_unique_numbers(nums):
# 对原数组进行排序
nums.sort()
# 创建新数组
result = []
# 遍历原数组
for i in range(len(nums)):
# 如果当前数字与前一个数字不同,或者当前数字是连续数字的结尾
if i == 0 or nums[i] != nums[i-1]+1:
# 判断当前数字是否为连续数字的结尾
if i < len(nums)-1 and nums[i]+1 == nums[i+1]:
continue
# 将当前数字加入新数组
result.append(nums[i])
return result
```
这个函数可以接受一个整数数组作为参数,返回一个新的整数数组,记录所有不重复的数字。如果原数组中存在重复数字,则只取其中的一个。如果原数组中存在连续数字,则将其视为一个数字。