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

电脑手机网站建设四川省最新疫情情况

电脑手机网站建设,四川省最新疫情情况,怎么做网站手机版,西宁手机微网站建设题目描述 主要元素 思路 这种找**“数组中出现次数超过一半的元素”**的题目的算法是固定的 – 摩尔投票法 如果存在这么一个数,他的出现次数超过数组大小的一半,也就是说,他出现的次数之和大于其他元素的出现次数之和 那么将这个数和其他数…

题目描述

主要元素

思路

这种找**“数组中出现次数超过一半的元素”**的题目的算法是固定的 – 摩尔投票法
如果存在这么一个数,他的出现次数超过数组大小的一半,也就是说,他出现的次数之和大于其他元素的出现次数之和
那么将这个数和其他数两两抵消之后,最后剩余的数的集合一定是它本身。
算法思路:
设置一个候选人(数组中出现次数超过一半的元素)
遍历数组中的元素

  1. 如果此时候选人的集合大小为 0 0 0,那么说明此时没有候选人,所以当前元素就可以担任候选人
  2. 如果当前元素等于候选人,候选人集合大小加一,否则减一
for(auto &x : nums) {if(count == 0)  candidate = x;if(x ==candidate)   count ++ ;else    count -- ;}

另外需要注意,如果数组中不存在这个数,那么最终的结果是随机的。还有就是摩尔投票法不能寻找众数!!!

代码

class Solution {
public:int majorityElement(vector<int>& nums) {// 先用摩尔投票法选出出现次数最多的数,在判断这个数是否合法int candidate = -1, count = 0;int n = nums.size();for(auto &x : nums) {if(count == 0)  candidate = x;if(x == candidate)  count ++ ;else    count -- ;}cout << "res: " << candidate << endl;count = 0;for(auto &x : nums) {if(x == candidate)  count ++ ;}return count > n / 2 ? candidate : -1;}
};
http://www.dtcms.com/wzjs/21462.html

相关文章:

  • 哪里做网站便宜百度网站提交收录入口
  • 网站怎么做是满屏哪些网站可以免费申请域名
  • 宝应县网络推广公司深圳seo优化服务
  • 网站站点怎么做杭州关键词推广优化方案
  • 长沙网站设计服务百度新闻首页新闻全文
  • 网站群建设论文合肥网站制作
  • 青岛 网站建设关键词代发排名
  • 嘉兴网站开发公司建网站建设
  • 做网站的销售怎么样交换友情链接时需要注意的事项
  • 网站如何跟域名绑定湖南百度seo
  • 怎么做网站的301天津seo排名公司
  • 建设银行山西招聘网站网站排名优化需要多久
  • 网站建设百度搜不到杭州最好的seo公司
  • 无锡网站建设培训学校购物网站页面设计
  • 阿克苏网站建设价格品牌营销策略案例
  • wordpress插件微信搜狗seo怎么做
  • 什么网站做跨境电子商务口碑营销的概念
  • 长沙人才招聘网站seo高级教程
  • win7家用电脑做网站服务器自己想做个网站怎么做
  • 中国建设教育网站seo教程网站优化
  • 买了服务器不翻墙就用来 做网站网页设计首页制作
  • wordpress特别版新泰网站seo
  • 一般做一个网站专题页多少钱百度一下首页
  • 网站建设陆金手指科捷14在线seo工具
  • 深圳做网站好的公司西安网站定制开发
  • 外包网站都有哪些抖音关键词搜索排名
  • 空间站免费版下载西安seo优化培训
  • 济南校园兼职网站建设各种手艺培训班
  • 办宽带需要多少钱谷歌seo关键词排名优化
  • 南京做中英文网站设计广告文案