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

数据结构-线性表-应用题-2.2-12

1)算法的基本设计思想:依次扫描数组的每一个元素,将第一个遇到的整数num保存到c中,count记为1,若遇到的下一个整数还是等于num,count++,否则count--,当计数减到0时,将遇到的下一个整数保存到c中,计数重新记为1,反复该过程,直到扫描全部数组元素为止。获得最终的候选主元素,但此时还没完成,出现次数还要过半才行,判断c中元素是否是真正的主元素,再次扫描该数组统计c中元素出现的次数,再进一步进行判断。

2)c语言描述:

int majority(int A[],int n){int i,c,count=1;c=A[0];//选出候选元素for(i=1;i<n;i++){if(A[i]==c){count++;}else if(count>0)count--;else{c=A[i];count=1;}}//统计候选元素出现次数if(count>0){for(i=count=0;i<n;i++){if(A[i]==c)count++;}}return (count>n/2)?c:-1; 
}

3)时间复杂度O(n),空间复杂度O(1)

http://www.lryc.cn/news/343588.html

相关文章:

  • 目录页码右对齐快速解决
  • 分红76.39亿,分红率再创新高,成长活力无限的伊利带来丰厚回报
  • 关于行进线路。
  • Unity 编辑器工具 - 资源引用查找器
  • MySQL中的批量更新实战
  • 为软件教学文档增加实践能力
  • 39-2 Web应用防火墙 - WAF数据库层绕过
  • 薪酬激励策略:留住企业核心人才的关键
  • 【bbs02补】注册功能form组件-前端-后端-总结、登录功能(前端、后端、生成验证码)
  • MindSponge分子动力学模拟——定义一个分子系统
  • unity想让方法带一个默认参数怎么写
  • 从零开始的软件测试学习之旅(六)测试网络基础知识
  • NSS题目练习
  • Springboot+vue项目零食销售商城
  • cesium 雷达遮罩(电弧球效果)
  • W801学习笔记二十三:语文和英语学习应用的代码汇总
  • 安卓LayoutParams浅析
  • UltralSO制作启动盘时报错:磁盘/映像容量太小解决办法
  • 2024-05-09四月初二周四
  • 【微服务】springcloud整合dubbo3使用nacos作为注册中心
  • php中常用的数据类型汇总
  • 【源码阅读】Golang中的go-sql-driver库源码探究
  • 2024-05-08 postgres-火山模型-执行-记录
  • QT5带UI的常用控件
  • 识货小程序逆向
  • 【OceanBase 系列】—— OceanBase v4.3 特性解读:查询性能提升之利器列存储引擎
  • 【Java开发的我出书啦,各位同仁快过来围观】!!!
  • AI预测福彩3D第10套算法实战化赚米验证第1弹2024年5月5日第1次测试
  • leetcode 2944.购买水果需要的最小金币
  • 算法人生(14):从“探索平衡策略”看“生活工作的平衡之道”