1054. The Dominant Color (20)
2015-11-26 12:53
337 查看
1.该题求出现次数超过一半的元素,故采用moore voting算法,moore投票法
2.遇到不同的元素,如果出现次数为0,更跟换成当前元素,如果次数不为0则-1,
3.遇到相同元素,出现次数相加
4.最终记录的元素就是所求元素
2.遇到不同的元素,如果出现次数为0,更跟换成当前元素,如果次数不为0则-1,
3.遇到相同元素,出现次数相加
4.最终记录的元素就是所求元素
//#include<string> //#include<stack> //#include<unordered_set> //#include <sstream> //#include "func.h" //#include <list> #include <iomanip> #include<unordered_map> #include<set> #include<queue> #include<map> #include<vector> #include <algorithm> #include<stdio.h> #include<iostream> #include<string> #include<memory.h> #include<limits.h> #include<stack> using namespace std; int main(void) { int m, n; cin >> m >> n; int count = 0, color = -1; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int tmpColor; scanf("%d", &tmpColor); if (color != tmpColor) {//元素不同 if (count == 0)//更新元素 color = tmpColor; else count--; } else//元素相同,出现次数累加 count++; } } cout << color << endl; return 0; }
相关文章推荐
- java 基础导航
- iOS下的按钮css去除原生样式
- sysctl.conf文件配置详解
- The Makings of Enduring Organizational Culture(持久组织文化的形成)
- 运维入门---If you insist running as root, then set the environment variable RUN_AS_USER=root...
- 【完全开源】博客园客户端UWP版 带源码、带APP(下篇)
- android组件之一BroadCastReceiver 短息拦截器
- ACM学习历程—UESTC 1222 Sudoku(矩阵)(2015CCPC H)
- Linux卸载NAS磁盘,报device is busy
- 使用for循环编写99乘法口诀表
- hdoj Clarke and food 5562 (简单题)
- hdoj2098分拆素数和【打表】
- 用jQuery获取form表单值的方法总结
- linux系统安装libpcap
- ELF Format 笔记(十五)—— 符号哈希表
- 10个最棒的jQuery视频插件
- Shader - Pass (二)
- JavaSE(05)(String类)
- 使用H5的FileApi预览将要上传的图片
- SSH:Struts2框架(总结)