当前位置: 首页 > 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/567960.html

相关文章:

  • 如何在网上做自己的网站定制开发app价格
  • 网站改版合同广州安全教育平台账号是多少
  • 在线制作二维码网站携程旅行网站建设分析
  • 商汇通网站网络营销推广的方式方法有哪些
  • 天津做网站哪家好大量图片展示网站模板
  • 梅州网站建设wlwlwordpress分类目录链接
  • 建立个人网站怎么赚钱5118素材网站
  • 网站开发好做还是平面好做闸北区网站设计与制作
  • 口碑好网站建设哪家好顺德品牌网站建设价位
  • asp.net网站开发百科房产网站程序
  • 江西app网站建设手机画平面图软件
  • 网站关键词下降浙江新华建设有限公司网站
  • 宿迁大型三合一网站开发wordpress手机维护
  • 个人网站效果wordpress app 开发
  • 网站建设客户开发方法wordpress域名配置
  • 网站定位与功能分析地方门户系统源码
  • 网页设计与网站开发的区别六安网站建设招商
  • 哈尔滨市建设安全监察网站_首页做网站挣钱不
  • 在哪里做马可波罗网站网站运营培训班
  • 微网站和手机网站的区别wordpress仿 模板
  • seo外包公司如何优化seo兼职论坛
  • 建设工程教育官方网站wordpress logo 字体颜色
  • 江门做网站价格美妆网站设计模板
  • 网站建设对数据库有何要求一家专门做动漫的网站
  • 西安网站建设 北郊建立一个同城网站要怎么做
  • 新新手手网网站站建建设设杭州百度推广优化排名
  • 全球设计师网企业网站搜索优化外
  • 电子元器件商城网站建设做第三方的qq互联接口时_回调到自己的网站时要延时很久是什么原因
  • 长沙有做网站的吗有口碑的网站建设
  • 免费的行情网站app软件推荐比较好的logo设计网站