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

大连金州新区规划建设局网站广州最新政策

大连金州新区规划建设局网站,广州最新政策,做网站编辑怎么样,做 cad效果图网站题目 思路 方法一:哈希表 因为要求出现次数最多的元素,所以我们可以使用哈希映射存储每个元素及其出现的次数。每次记录出现的次数若比最大次数大,则替换。 方法二:摩尔算法 摩尔的核心算法就是对抗,因为存在次数多…

题目

思路

方法一:哈希表

因为要求出现次数最多的元素,所以我们可以使用哈希映射存储每个元素及其出现的次数。每次记录出现的次数若比最大次数大,则替换。

方法二:摩尔算法

摩尔的核心算法就是对抗,因为存在次数多于一半的数,不同的元素相互抵消,那么剩下的一定就是出现次数最多的那个数。

比如,假设数组是[3,2,3]。初始时,candidate是-1,count是0。第一个元素是3,这时候num不等于candidate(-1),所以执行else if的条件。count减1的话,这时候count是-1,是否满足小于0?是的。于是将candidate设为3,count设为1。接下来是第二个元素2。这时候num不等于3,所以count减1,变成0。这时候count不满足小于0,所以不做任何改变。第三个元素是3,等于candidate,所以count加1,变成2。最后返回3。

这个算法的正确性在于,当存在多数元素时,即使中间阶段被其他元素暂时替代,最终剩下的candidate还是多数元素。因为多数元素的个数超过一半,所以无论如何抵消,最后剩下的肯定是多数元素。

这个算法的核心就是是,每次遇到不同的元素,就减少count,当count减到负的时候,更换候选者。这其实相当于在每一步中,当前的候选者和其他元素进行对抗,如果当前候选者不足以支撑(count被抵消到负),就换新的候选者。这样最终剩下的候选者就是多数元素。

代码

1.哈希表

class Solution {
public:int majorityElement(vector<int>& nums) {unordered_map<int,int> Hashmap;int value=0,freq=0;for(int i=0;i<nums.size();i++){Hashmap[nums[i]]++;if(Hashmap[nums[i]] > freq){value = nums[i];freq = Hashmap[nums[i]];}}return value;}
};

2.摩尔算法

class Solution {
public://摩尔算法int majorityElement(vector<int>& nums) {int candidate=-1,count=0;for(int i=0;i<nums.size();i++){if(nums[i]==candidate){count++;}else if(--count < 0){candidate = nums[i];count = 1;}}return candidate;}
};

http://www.dtcms.com/wzjs/367478.html

相关文章:

  • 一般做外贸上什么网站百度搜索关键词排名优化推广
  • 网站建设支出账务处理seo简介
  • 电商网站设计多少钱西安seo报价
  • 最好最值得做的调查网站长沙整站优化
  • 天津建设银行公积金缴费官方网站广告推广图片
  • 湛江网站制作起名最好的网站排名
  • 镇海住房和建设交通局网站app拉新推广平台渠道商
  • 开发设计公司网站上海seo公司哪个靠谱
  • 菏泽网站建设电话html网页制作软件
  • 如何做简洁网站产品销售方案与营销策略
  • 网站提供哪些服务上海关键词自动排名
  • 东莞网站优化是什么新闻软文怎么写
  • 东营wordpress网站建设惠州seo快速排名
  • 番禺做网站平台什么软件可以排名次
  • 开发一个区块链app多少钱seo线下培训机构
  • android什么意思seo排名优化技巧
  • 一个网站有多个域名五年级下册数学优化设计答案
  • 巴中免费网站建设广州百度seo
  • 政府门户网站群集约化建设方案seo三人行论坛
  • 深圳有没有可以做家教的网站自己如何注册一个网站
  • 网站加https有什么帮助seo排名赚挂机
  • 做兽药网站用什么图片好seo成功的案例和分析
  • 防水网站建设深圳seo优化公司哪家好
  • 余姚汽车网站建设新闻博客软文自助推广
  • 武汉 做网站百度帐号
  • 学校网站设计实验报告网络推广公司如何做
  • 增城企业网站建设上海百度公司地址在哪里
  • 网站建设官网怎么收费电商运营推广的方式和渠道有哪些
  • 品牌网站建设哪家好百度的广告怎么免费发布
  • 郑州网站建设baixing百度问一问付费咨询