【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);
//}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos mysql 5.6 源码_Centos7环境中mysql-5.6.39 源码安装

1、编译安装MySQL需要一些必备的组件&#xff0c;可以直接使用yum安装即可yum -y install cmake ncurses-devel gcc-c2 创建 Mysql用户useradd mysql3 分别给mysql创建程序安装目录和数据存储目录&#xff0c;这里将mysql安装在/opt下&#xff0c;数据存储在 /data/mysql下mkdi…

2019年9月全国计算机等级考试报名,关于2019年9月全国计算机等级考试报名的通知...

关于2019年9月全国计算机等级考试报名的通知2019年9月全国计算机等级考试报名工作即将开始&#xff0c;根据教育部考试中心和安徽省教育招生考试院的要求&#xff0c;学生在网上报名及缴费。现将2019年9月全国计算机等级考试报名工作安排如下&#xff1a;一、网上报名时间2019年…

【ACM算法讲堂之 - 计算几何基础】:【点积和叉积】(附一些模板)

计算几何是算法竞赛的一大块&#xff0c;而叉积是计算机和的基础。 首先叉积是计算说向量之间的叉积&#xff0c;那么我们可以这样定义向量&#xff0c;以及向量的运算符重载。 struct Point {double x,y;Point(double x0,double y0):x(x),y(y) {} }; typedef Point Vector; V…

mysql libstdc .so.6_编译安装mysql报错 ./mysqld: /usr/lib64/libstdc++.so.6:

我遇到这个问题的时候是在连接库的时候出现的问题&#xff0c;而且不是在编译的时候出现的&#xff0c;实在运行的时候才 报错&#xff0c;出现这种问题就是因为编译库的编译器和编译当前程序的编译器版本是不一样的&#xff0c;在具体一点就是因为&#xff0c;当前程序的编译器…

极限脱出 量子计算机,《极限脱出3:零时困境》难点解密攻略 剧情通关密码一览...

《极限脱出3&#xff1a;零时困境》这款解密游戏很多时候会卡住&#xff0c;如何通关呢&#xff1f;下面小编就给大家分享一下《极限脱出3&#xff1a;零时困境》中几个难点解密&#xff0c;需要过关密码的朋友可以收藏一下哦。游戏过程中经常会卡在三处&#xff1a;1.玩家发现…

【qduoj】C语言课程设计_约瑟夫问题

题干&#xff1a; 描述 有n只猴子&#xff0c;按顺时针方向围成一圈选大王&#xff08;编号从1到n&#xff09;&#xff0c;从第1号开始报数&#xff0c;一直数到m&#xff0c;数到m的猴子退出圈外&#xff0c;剩下的猴子再接着从1开始报数。就这样&#xff0c;直到圈内只剩下…

mysql缓存淘汰机制_聊聊缓存淘汰算法-LRU 实现原理

前言我们常用缓存提升数据查询速度&#xff0c;由于缓存容量有限&#xff0c;当缓存容量到达上限&#xff0c;就需要删除部分数据挪出空间&#xff0c;这样新数据才可以添加进来。缓存数据不能随机删除&#xff0c;一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有…

【qduoj】C语言_求整数各位数之和

题干&#xff1a; 描述 输入一个正整数r&#xff08;0<r<10&#xff09;&#xff0c;做r次下列运算&#xff1a;输入一个整数&#xff0c;输出它的位数及各位数之和。 输入 同上 输出 同上 输入样例 1 3 123456 -100 99 输出样例 1 number6,sum21 number3,sum1 n…

三个月计算机培训班,三个月复盘:学完两个设计软件,并开始学画画

从4月1日开始明确目标&#xff0c;到6月30日&#xff0c;整整三个月的时间&#xff0c;我一直在努力前行。其中有多次的调整&#xff0c;但整体方向不变。来梳理一下这三个月所做的事&#xff1a;4.1-5.26 完成PS学习(75课)5.27-6.26 完成CDR学习(65课)5.27 从零基础开始学习画…

mysql源码包和二进制包_Linux软件包(源码包和二进制包)

Linux下的软件包众多&#xff0c;且几乎都是经 GPL 授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力&#xff0c;只要你愿意&#xff0c;可以随意修改。GPL&#xff0c;全称 General Public License&#xff0c;中文名称“通用性公开许可证”&#…

【qduoj】最长公共子串

题干&#xff1a; 描述 编写一个程序&#xff0c;求两个字符串的最长公共子串。输出两个字符串的长度&#xff0c;输出他们的最长公共子串及子串长度。如果有多个最长公共子串请输出在第一个字符串中先出现的那一个。 特别注意公共子串中可能包含有空格&#xff0c;但不计回车…

计算机导论结业报告大一,河北工业大学计算机导论结业论文.pdf

计算科学导论结业论文(黄路路 计算机科学与软件学院112班 112436)摘要 本文采用简洁的语言浅显扼要的讲解了计算机的系统理论知识&#xff0c;起抛砖引玉的作用。本文核心知识&#xff1a;共包含四大部分&#xff1a;计算理论、计算机的系统结构、信息的表示、计算科学与C语言的…

pythonjson实例_python:JSON的两种常用编解码方式实例解析

概念JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写。在日常的工作中&#xff0c;应用范围极其广泛。这里就介绍python下它的两种编解码方法&#xff1a;使用json函数使用 JSON 函数需要导入 json 库&#xff1a;import json。函数…

caxa计算机编程,CAXA软件编程实例1

课时&#xff1a;75节课时长&#xff1a;24.1小时课级&#xff1a;中级提高课程从基础讲起&#xff0c;仅贴实际生产实践&#xff0c;适合职业院校教师、企业技术员、学生学习&#xff0c;讲解细致、全面&#xff0c;带你学习带你飞、软件使用常见问题及解决方法和使用技巧详细…

【qduoj】C语言_凯撒密码

题干&#xff1a; 描述 据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是&#xff1a;对消息原文中的每个字母&#xff0c;分别用该字母之后的第5个字母替换&#xff08;例如&#xff1a;消息原文中的每个字母A都分别替换成字母F&#xff09;。而你要获得消息原文&#…

python中常用的函数有哪些_Python 最常用的语句、函数有哪些?

一、常用语句1、条件语句&#xff1a;if else一句话概括该语句作用&#xff1a;非此即彼。python中的 if else 的语句功能更加强大、更加灵活。2、循环语句&#xff1a;for & while循环语句中&#xff0c;还有两个关键字至为重要&#xff1a;continue 与 break。这两个关键…

计算机函数select,select函数

学习目标了解select函数的各参数的作用&#xff0c;能够在程序设计中正确使用select函数使用select函数&#xff0c;编写一个简单socket服务器程序&#xff0c;可支持多客户端连接1、select函数机制select函数允许程序同时在等待多个底层文件描述符输入的到达&#xff0c;并且只…

【CodeForces - 833A】The Meaningless Game(思维题,数学,可用牛顿迭代法,知识点总结)

题干&#xff1a; Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting. The game consists of multiple rounds. Its rules are very simple: in each round, a natural number k is chosen. Then, the one who says (or ba…

python创建变量并赋值_python怎么给变量赋值

在学习变量及赋值之前,我们要知道什么是变量! Python语言中,用等号【=】来表示赋值,Python赋值并不是直接将一个值赋值给一个变量,在Python中,对象是通过引用传递的;在传递时,不管这个对象是新创建的还是已经存在的,都是将该对象的引用赋值给变量。 举个例子,3 * 4 =…

【CodeForces - 670D1 】Magic Powder - 1 (模拟 或 枚举 或二分优化)

题干&#xff1a; This problem is given in two versions that differ only by constraints. If you can solve this problem in large constraints, then you can just write a single solution to the both versions. If you find the problem too difficult in large cons…