下面是一个初级软考编程题: 已知一个整数数组,数组中的数可以重复,设计一个程序,找出其中所有的“幸运数”,所谓“幸运数”是指,在这个数组中出现频率大于等于2次的数。 例如,对于数组 [1, 2, 2, 3, 3, 3, 4, 4, 4, 4],其中的“幸运数”为2、3和4。 请编写程序实现上述功能。
时间: 2024-02-06 20:10:37 浏览: 64
利用随机函数抽取幸运数字
以下是 Python 代码实现:
```python
def find_lucky_numbers(arr):
freq = {}
for num in arr:
if num in freq:
freq[num] += 1
else:
freq[num] = 1
lucky_numbers = []
for num, count in freq.items():
if count >= 2:
lucky_numbers.append(num)
return lucky_numbers
arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
print(find_lucky_numbers(arr)) # 输出 [2, 3, 4]
```
首先,我们使用一个字典 `freq` 记录数组中每个数出现的次数。然后,遍历字典,如果某个数出现次数大于等于 2 次,就将其加入到 `lucky_numbers` 数组中。最后返回 `lucky_numbers` 数组。
阅读全文