当前位置: 首页 > news >正文

数众数

有序整数序列,数出所有众数及其个数

模块1:线性扫描

模块2:cnt计数:条件:遇见不等,计a[i-1]的cnt

 

notice: 最后一个数一定不会入栈,需要单独处理

 1 #include <iostream>
 2 #include <vector>
 3 #include <stack>
 4 using namespace std;
 5 void findMode(vector<int> &a, stack<int> &x, stack<int> &y){
 6     int cnt = 1;
 7     y.push(-1);
 8     for (int i = 1; i < a.size(); i++){
 9         if  (a[i] == a[i-1])
10             cnt++;
11         else{
12             if (cnt == y.top()){
13                 x.push(a[i-1]);
14                 y.push(cnt);
15             }
16             else if (cnt > y.top()){
17                 while( !x.empty() )
18                     x.pop();
19                 while( !y.empty() )
20                     y.pop();
21                 x.push(a[i-1]);
22                 y.push(cnt);
23             }
24             cnt = 1;
25         }
26     }
27     if (cnt == y.top()){
28         x.push(a[a.size()-1]);
29         y.push(cnt);
30     }
31     else if (cnt > y.top()){
32         while( !x.empty() )
33             x.pop();
34         while( !y.empty() )
35             y.pop();
36         x.push(a[a.size()-1]);
37         y.push(cnt);
38     }
39 }
40 int main(){
41     vector<int> a;
42     stack<int> x, y;
43     a.push_back(1);
44     a.push_back(2);
45     a.push_back(3);
46     findMode(a, x, y);
47     while( !x.empty() || !y.empty() ){
48         cout << x.top() << " " << y.top() << endl;
49         x.pop();
50         y.pop();
51     }
52     return 0;
53 }

 

转载于:https://www.cnblogs.com/celahir/p/5149280.html

相关文章:

  • Struts的属性驱动和模型驱动
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • RHCA CL220实战系列(一)之KVM部署CloudForms
  • C 指针函数
  • 使用visualvm的插件btrace的一个例子
  • 在java程序中访问windows有用户名和密码保护的共享目录
  • expect 自动登录
  • ImportError No module named setuptools解决
  • Drill官网文档翻译五:连接到数据源
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 利用系统错误日志监控磁盘健康状况
  • 模式识别(第四版)上机实验 【2.2~2.5】
  • 第23讲: Scala高阶函数实战详解
  • SQL Server代理(5/12):理解SQL代理错误日志
  • Spring中@Autowired注解、@Resource注解的区别
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【EOS】Cleos基础
  • js面向对象
  • 欢迎参加第二届中国游戏开发者大会
  • 解析 Webpack中import、require、按需加载的执行过程
  • 做一名精致的JavaScripter 01:JavaScript简介
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (12)目标检测_SSD基于pytorch搭建代码
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (七)Knockout 创建自定义绑定
  • (一) storm的集群安装与配置
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)Windows2003安全设置/维护
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET与 java通用的3DES加密解密方法
  • .net中应用SQL缓存(实例使用)
  • @PreAuthorize注解
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [C#小技巧]如何捕捉上升沿和下降沿
  • [Codeforces] number theory (R1600) Part.11
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]
  • [hive] 窗口函数 ROW_NUMBER()
  • [JavaWeb]—Spring入门
  • [MICROSAR Adaptive] --- Hello Adaptive World
  • [mysql]游标和触发器
  • [node] Node.js的Web 模块
  • [one_demo_14]一个简单的easyui的demo
  • [OpenWrt]RAX3000一根线实现上网和看IPTV
  • [POI2007] ZAP-Queries (莫比乌斯反演)
  • [QT]加快qt编译:设置默认多核编译qt
  • [SSL: CERTIFICATE_VERIFY_FAILED] Certificate Verif
  • [THUWC 2017]在美妙的数学王国中畅游
  • [Unity] 基于迭代器的协程底层原理详解
  • [纯干货] MySQL索引背后的数据结构及算法原理