QDUOJ 20 - 数组中出现最多的元素
来源:互联网 发布:广州白云心理医院 知乎 编辑:程序博客网 时间:2024/05/16 18:57
数组中出现最多的元素
发布时间: 2015年10月6日 10:35 时间限制: 1000ms 内存限制: 256M
描述
给你一个数组,输出里面出现超过1/2的元素。保证有且只有一个解。
输入
第一行是一个整数,表示测试数据的组数 n,n < 1000万 之后每一行都是一个整数。
输出
输出出现超过1/2的那个数字。
样例输入1 复制
5
1
1
1
2
3
样例输出1
1
解题思路:
分析数据规模很大,就需要考虑时间复杂度较低的方法.
出现最多的数的次数大于n/2,那么就维护一个数,和他出现的次数.
如果下一个数和当前维护的数相同,cnt++,否则cnt–.
如果cnt <= 0,那么更新维护的这个数.
AC代码
#include<stdio.h>int main(){ int loop; int a = 0; int cnt = 1; scanf("%d",&loop); int temp; while(loop--) { scanf("%d",&temp); if(a != temp) cnt--; else cnt++; if(cnt < 0) { a = temp; cnt = 1; } } printf("%d",a); return 0;}
0 0
- QDUOJ 20 - 数组中出现最多的元素
- qduoj 数组中出现最多的元素(补)
- 统计一个无序数组中出现次数最多的元素
- LINQ 获取当前数组中出现次数最多的元素
- 数组中出现次数最多的元素_legend
- 统计一个无序数组中出现次数最多的元素
- 整型数组中出现次数最多的元素
- 输出数组中出现次数最多的元素
- 统计数组中出现次数最多的元素并输出
- 数组中出现次数最多/最少的元素
- 判断数组中出现次数最多的元素
- js统计一个字符串出现最多的字母(或者数组中出现次数最多的元素)
- 数组中重复元素最多的数
- 数组中重复次数最多的元素
- 数组中重复次数最多的元素
- asp.net 实现获取一个集合数组中出现次数最多的元素
- js 算出Array数组中出现次数最多的元素
- C#实现获取一个集合数组中出现次数最多的元素
- 【POJ 1321】棋盘问题(DFS)
- Python xrange与range的区别
- eclipse:an error occurred while filtering resources
- 百度面试逻辑题
- 数据结构实验之七:出栈序列判定 (sdut oj3334)
- QDUOJ 20 - 数组中出现最多的元素
- Spring MVC之@RequestBody, @ResponseBody 详解
- 开脑洞 | 走夜路之遇见僵尸,程序猿怎么办?
- Android中动态调整ImageView的宽高比
- Linux文件编辑器命令详解
- PowerDesigner 中 dependency与 link/ExtendedDependency的区别
- Stack和Queue:后进先出和先进先出和Java 实现后进先出(LIFO)及Stac和Java集合类: Set、List、Map、Queue使用场景梳理 - .Little Hann
- dojo中lang.hitch()的简单用法
- android jni c语言回调java