2 solutions
-
0
题面描述:
在某商场的监控记录中,民警正在调查一起盗窃案件,记录下了嫌疑人的出现次数。给定一个嫌疑人编号数组
men
,其长度在2到999之间,每个编号在1到100000之间。民警需要确定是否存在某个嫌疑人,其出现次数超过所有嫌疑人总出现次数的一半,并输出该嫌疑人的编号。如果没有任何嫌疑人满足该条件,则返回0。例如,输入1,2,3,2,2
时,输出为2;而输入1,1,2,2,3,3
时,输出为0。思路:模拟
使用哈希表统计每个元素出现的次数
代码说明
- 输入处理:使用
getline
从标准输入读取一整行字符串,并使用stringstream
按照逗号分隔这些字符串,将其转换为整数并存储到nums
向量中。 - 出现次数统计:利用
map
统计每个编号出现的次数,键为编号,值为出现次数。 - 条件判断:遍历
map
,检查是否有任何编号的出现次数超过nums
长度的一半。如果找到了符合条件的编号,则输出该编号并结束程序。 - 结果输出:如果没有找到符合条件的编号,则输出0。
时间复杂度
代码
C++
python代码
Java代码
- 输入处理:使用
- 1
Information
- ID
- 77
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 503
- Accepted
- 181
- Uploaded By