给定一个长度为 n 的数组,从小到大输出任何至少出现三次的值,如果没有这样的值,则打印 -1。
时间: 2024-02-09 16:10:16 浏览: 166
8个简单的汇编程序,数组排序、计算最大数,字符串比较,打印图形
好的,这是一个很简单的问题,可以使用哈希表来解决。我们可以遍历数组,将每个元素的出现次数记录在哈希表中。然后再遍历哈希表,找到出现次数大于等于3的元素并输出即可。如果没有这样的元素,则输出-1。
下面是代码示例(使用 Python 语言实现):
```python
def find_triplets(arr):
freq = {} # 哈希表,用于记录每个元素的出现次数
for num in arr:
freq[num] = freq.get(num, 0) + 1 # 使用 get() 方法获取元素出现次数,如果没有则默认为0
found = False
for num, count in freq.items():
if count >= 3:
print(num)
found = True
if not found:
print(-1)
# 测试
arr = [1, 2, 3, 4, 5, 6, 3, 3, 4, 4]
find_triplets(arr) # 输出 3 和 4
```
希望对你有帮助!
阅读全文