在整数数组中,如果一个数的出现次数最少,我们就称这个数为“孤独数”。给定一个整数数组,输出其中最小的孤独数。函数fun的功能是求出长度为n的数组a中的孤独数并返回(n最大不会超过100)。例如:当n为6,a数组为5,3,3,3,2,2时,函数返回值应为5。
时间: 2024-10-21 08:06:48 浏览: 35
在整数数组中寻找孤独数的问题是一个经典的算法问题,可以使用哈希表(HashMap 或者字典)来解决。基本思路如下:
1. 首先遍历整个数组 `a`,对于每个元素 `num`,检查它是否已经在哈希表中,如果不在,则将其添加到哈希表中,并设置其计数为1;如果已在哈希表中,则将计数加1。
2. 再次遍历数组,记录下出现次数为1的元素及其对应的计数。这一步骤是为了找到孤独数,即出现次数仅为1的数字。
3. 最后,从这些出现次数为1的元素中找出最小的那个,这就是我们要找的孤独数。
以下是Python代码示例:
```python
def findLonelyNumber(nums):
count = {} # 存储每个数字出现的次数
for num in nums:
if num not in count:
count[num] = 1
else:
count[num] += 1
lonely_nums = [k for k, v in count.items() if v == 1] # 找到所有孤独数
return min(lonely_nums) if lonely_nums else None # 返回最小的孤独数或None(若无孤独数)
# 示例:
nums = [5, 3, 3, 3, 2, 2]
print(findLonelyNumber(nums)) # 输出:5
```
阅读全文