首页 > 试题广场 >

n个数里出现次数大于等于n2的数

[编程题]n个数里出现次数大于等于n/2的数
  • 热度指数:22128 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入n个整数,输出出现次数大于等于数组长度一半的数。

输入描述:
每个测试输入包含 n个空格分割的n个整数,n不超过100,其中有一个整数出现次数大于等于n/2。


输出描述:
输出出现次数大于等于n/2的数。
示例1

输入

3 9 3 2 5 6 7 3 2 3 3 3

输出

3
头像 牛客109234096号
发表于 2022-08-19 23:58:29
import java.util.*; public class Main {     public static void main(String[] args) { 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-04-01 11:04:30
#include <iostream> #include <vector> #include <unordered_map> using namespace std; int main() { int i=0; int len=0; i 展开全文
头像 重生之我要当分子
发表于 2025-01-03 13:41:22
解题思路 这是一个查找主要元素(众数)的问题。需要找出数组中出现次数超过一半的数字。可以使用摩尔投票算法。 关键点: 使用摩尔投票算法 不需要额外空间统计频次 保证一定存在答案 处理计数过程 算法步骤: 初始化候选数和计数器 遍历数组进行投票 返回最终的候选数 代码 cpp jav 展开全文