题干:

描述

给你一个数组,输出里面出现超过1/2的元素。保证有且只有一个解。

输入

第一行是一个整数,表示测试数据的组数 n,n < 1000万 之后每一行都是一个整数。

输出

输出出现超过1/2的那个数字。

输入样例 1

5
1
1
1
2
3

输出样例 1

1

提示

  • 不要使用 cin,测试数据很大。
  • 将时间复杂度降到 O(n)

解题报告:

AC代码:(三种)

#include<cstdio>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<iostream>
#include<algorithm>
#define ll long long
#pragma GCC optimize(2)
const ll mod = 1e9+7;
using namespace std;
int n;
ll a[10000000 +5];
int main()
{int n,res;ll tmp;scanf("%d",&n);res = n/2+1;for(int i = 1; i<=n; i++) {scanf("%lld",&a[i]);}sort(a+1,a+n+1);printf("%lld",a[res]);return 0 ;
}
//#include<cstdio>
//#include<queue>
//#include<cstring>
//#include<cmath>
//#include<map>
//#include<iostream>
//#include<algorithm>
//#define ll long long
//const ll mod = 1e9+7;
//using namespace std;
//int n;
//ll a[10000000 +5];
//map<ll,int> mp;
//int main()
//{
//  int n,res;
//  ll tmp;
//  scanf("%d",&n);
//  res = n/2+1;
//  for(int i = 1; i<=n; i++) {
//      scanf("%lld",&tmp);
//      mp[tmp]++;
//  }
//  map<ll,int> :: iterator it;
//  for(it = mp.begin(); it!=mp.end(); ++it) {
//      if(it->second >= res) printf("%lld\n",it->first);
//  }
//
//  return 0 ;
//}
//
//#include<bits/stdc++.h>
//using namespace std;
//int main()
//{
//    int n;
//    scanf("%d",&n);
//    int temp,time=0,a;
//    for(int i=0;i<n;i++)
//    {
//        scanf("%d",&a);
//        if(time==0)
//        {
//            time=1;
//            temp=a;
//        }
//        else if(temp==a)
//        {
//            time++;
//        }
//        else
//        {
//            time--;
//        }
//    }
//    printf("%d\n",temp);
//}

【qduoj - 1011】数组中出现最多的元素(巧妙方法 或 排序 或 map)相关推荐

  1. java数组删除元素_java删除数组中的某一个元素的方法

    下面小编就为大家带来一篇java删除数组中的某一个元素的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 实例如下: package org.company.proj ...

  2. 【python】list 删除列表中某个元素的3种方法;附加删除numpy数组中的指定索引元素的方法

    方法 python中关于删除list中的某个元素,一般有三种方法: remove.pop.del 实例 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 2.pop: 删除单个或多个 ...

  3. 【微信小程序】JavaScript 从数组中删除指定值元素的方法封装

    效果 const somearray = ["mon", "tue", "wed", "thur"] removeByV ...

  4. js中判断数组中是否包含某元素的方法

    var fruits=["Banana","Orange","Apple","Mango","Banana&q ...

  5. php 数组重复最多,PHP获取数组中重复最多元素的简单示例

    这篇文章主要为大家详细介绍了PHP获取数组中重复最多元素的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 本文实例讲述了PHP获取数组中重复最 ...

  6. js 判断数组中是否包含某个元素

    判断数组中是否包含某个元素的八种方法 方法一:array.indexOf (item,start):元素在数组中的位置,如果没与搜索到则返回 -1. 参数 描述 item 必须.查找的元素. star ...

  7. 数组重复次数最多的元素递归_使用递归计算链接列表中元素的出现次数

    数组重复次数最多的元素递归 Solution: 解: Required function: 所需功能: func_occurence ( node *temp) //recursive functio ...

  8. 数组重复次数最多的元素递归_在不使用递归的情况下计算链接列表中元素的出现次数...

    数组重复次数最多的元素递归 Solution: 解: Input: 输入: A singly linked list whose address of the first node is stored ...

  9. 未能比较数组中的两个元素_算法3 寻找两个正序数组的中序数

    问题描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数.要求设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题. ...

最新文章

  1. 面向对象之数值的悲剧(8月28日会议有感)
  2. Debian Linux下的Python学习——控制流
  3. NETCONF 环境搭建
  4. Windows下Memcached的安装与配置
  5. 计算机php什么意思,我们所说的计算机一般是指什么
  6. linux 进程管理 ppt,Linux内核结构与进程管理.ppt
  7. 效能改进之项目例会导入实践 1
  8. python数据分享人力资源_Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度...
  9. 7/100. Move Zeroes
  10. Node环境的配置与安装(windows系统)(超详细)
  11. 运营商缺的是应用还是想法--广州晨皓
  12. 工作没做好,别人指出时最好装聋作哑
  13. 科锐c语言,科锐C语言学习视频,资源教程下载
  14. 2022年最新版黑马程序员Java自学路线(免费分享)
  15. 记Thinkpad的一次扩容升级经历
  16. html win10虚拟键盘,win10专业版打开虚拟键盘的方法
  17. Qt 加载翻译文件基本方法
  18. solaris学习6:帐号、安全管理
  19. VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
  20. 会声会影X10视频制作软件中文密钥激活版

热门文章

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol 52][第35篇]给针对ECDLP问题的Pollard rho,parallel Pollard rho攻击的一个粗略的描述
  2. 混合代码块 Markdown Leedcde
  3. Crusaders Quest ZOJ - 3983 构造|思维
  4. excel生成mysql语句_通过SQL语句直接实现Excel与数据库的导入导出
  5. 计算机信息管理相关课题论文,计算机信息管理课题论文[].doc
  6. apicloud项目怎么运行_Spring Boot教程(3) – 运行第一个项目
  7. vue——去除白色边框
  8. windows下搭建Vagrant+Virtualbox环境
  9. redis集群关闭 启动报错_使用虚拟机搭建 Redis 集群,实现数据库的负载均衡功能。...
  10. android glu,我可以使用glu与Android NDK