【qduoj - 1011】数组中出现最多的元素(巧妙方法 或 排序 或 map)
题干:
描述
给你一个数组,输出里面出现超过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)相关推荐
- java数组删除元素_java删除数组中的某一个元素的方法
下面小编就为大家带来一篇java删除数组中的某一个元素的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 实例如下: package org.company.proj ...
- 【python】list 删除列表中某个元素的3种方法;附加删除numpy数组中的指定索引元素的方法
方法 python中关于删除list中的某个元素,一般有三种方法: remove.pop.del 实例 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 2.pop: 删除单个或多个 ...
- 【微信小程序】JavaScript 从数组中删除指定值元素的方法封装
效果 const somearray = ["mon", "tue", "wed", "thur"] removeByV ...
- js中判断数组中是否包含某元素的方法
var fruits=["Banana","Orange","Apple","Mango","Banana&q ...
- php 数组重复最多,PHP获取数组中重复最多元素的简单示例
这篇文章主要为大家详细介绍了PHP获取数组中重复最多元素的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 本文实例讲述了PHP获取数组中重复最 ...
- js 判断数组中是否包含某个元素
判断数组中是否包含某个元素的八种方法 方法一:array.indexOf (item,start):元素在数组中的位置,如果没与搜索到则返回 -1. 参数 描述 item 必须.查找的元素. star ...
- 数组重复次数最多的元素递归_使用递归计算链接列表中元素的出现次数
数组重复次数最多的元素递归 Solution: 解: Required function: 所需功能: func_occurence ( node *temp) //recursive functio ...
- 数组重复次数最多的元素递归_在不使用递归的情况下计算链接列表中元素的出现次数...
数组重复次数最多的元素递归 Solution: 解: Input: 输入: A singly linked list whose address of the first node is stored ...
- 未能比较数组中的两个元素_算法3 寻找两个正序数组的中序数
问题描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数.要求设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题. ...
最新文章
- 面向对象之数值的悲剧(8月28日会议有感)
- Debian Linux下的Python学习——控制流
- NETCONF 环境搭建
- Windows下Memcached的安装与配置
- 计算机php什么意思,我们所说的计算机一般是指什么
- linux 进程管理 ppt,Linux内核结构与进程管理.ppt
- 效能改进之项目例会导入实践 1
- python数据分享人力资源_Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度...
- 7/100. Move Zeroes
- Node环境的配置与安装(windows系统)(超详细)
- 运营商缺的是应用还是想法--广州晨皓
- 工作没做好,别人指出时最好装聋作哑
- 科锐c语言,科锐C语言学习视频,资源教程下载
- 2022年最新版黑马程序员Java自学路线(免费分享)
- 记Thinkpad的一次扩容升级经历
- html win10虚拟键盘,win10专业版打开虚拟键盘的方法
- Qt 加载翻译文件基本方法
- solaris学习6:帐号、安全管理
- VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
- 会声会影X10视频制作软件中文密钥激活版
热门文章
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol 52][第35篇]给针对ECDLP问题的Pollard rho,parallel Pollard rho攻击的一个粗略的描述
- 混合代码块 Markdown Leedcde
- Crusaders Quest ZOJ - 3983 构造|思维
- excel生成mysql语句_通过SQL语句直接实现Excel与数据库的导入导出
- 计算机信息管理相关课题论文,计算机信息管理课题论文[].doc
- apicloud项目怎么运行_Spring Boot教程(3) – 运行第一个项目
- vue——去除白色边框
- windows下搭建Vagrant+Virtualbox环境
- redis集群关闭 启动报错_使用虚拟机搭建 Redis 集群,实现数据库的负载均衡功能。...
- android glu,我可以使用glu与Android NDK