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

写网站编程需要什么wordpress后台界面样式

写网站编程需要什么,wordpress后台界面样式,中山做网站比较好,社区团购最新模式题目 数组中有一个数字出现的次数超过数组长度的一半#xff0c;请找出这个数字。 你可以假设数组是非空的#xff0c;并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制#xff1a; 1 数组长度 50000 解题思路 前置知…题目 数组中有一个数字出现的次数超过数组长度的一半请找出这个数字。 你可以假设数组是非空的并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制 1 数组长度 50000 解题思路 前置知识 摩尔投票算法 摩尔投票算法是一种用于在数组中查找出现次数超过一半的元素的有效算法。算法的核心思想是利用候选元素和计数器进行投票通过消除不同元素之间的抵消来找到出现次数超过一半的元素。 算法原理 如果数组中存在一个出现次数超过一半的元素那么这个元素的剩余部分一定会抵消其他元素的出现次数最终剩下的就是该元素。 算法步骤 初始化候选元素 candidate 为数组的第一个元素计数器 count 为 1。 从数组的第二个元素开始遍历。 如果当前元素与候选元素相同则将计数器 count 加 1。 如果当前元素与候选元素不同则将计数器 count 减 1。 如果计数器 count 减为零则更新候选元素为当前元素并将计数器 count 重置为 1。 完成遍历后候选元素就是出现次数超过一半的元素。举个例子: 假设数组为 [2, 2, 1, 1, 1, 2, 2]。 初始时候选元素 candidate 为 2计数器 count 为 1。 开始遍历数组 遍历到 2与候选元素相同计数器 count 加 1计数器变为 2。 遍历到 1与候选元素不同计数器 count 减 1计数器变为 1。 遍历到 1与候选元素不同计数器 count 减 1计数器变为 0。 计数器 count 变为 0更新候选元素为当前元素 1计数器 count 重置为 1。 遍历到 1与候选元素相同计数器 count 加 1计数器变为 2。 遍历到 2与候选元素相同计数器 count 加 1计数器变为 1。 遍历到 2与候选元素相同计数器 count 加 1计数器变为 0。 计数器count变为0更新候选元素为当前元素2计数器count重置为2 完成遍历后候选元素为 2它是出现次数超过一半的元素 大概了解了摩尔算法后我们来看一下这道题 1.题目要求我们查找出出现的次数超过数组长度的一半的数字我们来画图看一下 2.首先我们先判断一下数组的长度若数组长度小于2那么我们直接返回数组中的第一个数字这个数字就为众数。 3.当数组长度大于2时我们就使用摩尔投票算法进行查找 举个例子[1, 2, 3, 2, 2, 2, 5, 4, 2] 我们设置一个变量 cur 去记录当前元素我们先将nums[0]放入再设置一个变量 sum用于记录当前元素 cur 的票数  4.然后我们开始遍历数组nums因为已经将nums[0] 放进了cur中所以我们从nums[1]开始遍历i 1 时nums[i] 2此时sum 不等于0所以 我们不用重新赋值我们去判断cur 是否等于 nums[1] ,此时cur ! nums[1] 所以我们要将 sum -- 5.再往后遍历时我们发现sum等于0所以我们只需要对cur重新赋值即可并将sum 变为1   6.按照摩尔投票的思路一直遍历到数组的最后一位保存再 cur 中的数就是我们要求的中位数。    代码实现 class Solution {public int majorityElement(int[] nums) {//首先我们判断一下数组中的元素是否小于2若小于2则直接返回if(nums.length 2){return nums[0];}//用于存放当前元素int cur nums[0];//用于存放出现次数int sum 1;//开始遍历数组for(int i 1; i nums.length; i){//如果出现次数为0就重新给当前元素赋值if(sum 0){cur nums[i];sum 1;}else{//如果所判断的元素等于当前存放的元素次数就加一if(cur nums[i]){sum;//如果所判断的元素不等于当前存放的元素次数就减一}else{sum--;}}}return cur;} } 测试结果
http://www.zqtcl.cn/news/188901/

相关文章:

  • 有哪个网站做ic购物网站建设需求
  • 怎么登录甘肃省建设厅网站工信部域名信息备案管理系统查询
  • 怎么才能免费建网站网站套利怎么做
  • .win域名做网站怎么样邯郸的互联网公司
  • 企业网站建设推广实训报告网站目录
  • 找做课件的网站网站建设柒首先金手指9
  • 秦皇岛网站建设公司wordpress百度编辑器
  • 潍坊网站建设联系方式农业网站开发
  • 河北网站制作网站设计依赖于什么设计
  • 深圳网站优化培训wordpress内页关键词
  • 上栗网站建设企业网站建设报价方案
  • 广州网站开发公司公司级别网站开发
  • 做网站备案哪些条件怎样选择网站的关键词
  • 有没有专门做名片的网站忘记网站后台账号
  • 重庆建设工程招标网站印尼建设银行网站
  • 什么是网站流量优化四川住房建设厅网站
  • 现在还有企业做网站吗做百度推广送的网站
  • 公司年前做网站好处互联网推广运营是做什么的
  • 公司网站建设杭州钓鱼网站制作的报告
  • 宁海有做网站的吗网络规划设计师需要掌握哪些
  • 百度云注册域名可以做网站明码有了主机如何做网站
  • 门户网站推广方案连云港市电信网站建设
  • 网站程序如何制作app商城开发价格
  • 用易语言做攻击网站软件国药控股北京有限公司
  • 宁津 做网站湛江招聘网最新招聘
  • 网站建设优化服务器asp企业网站
  • 门窗网站源码建筑模板厂家联系方式
  • 太原网站建设解决方案做建筑机械网站那个网站好
  • 丹徒做网站产品外贸营销推广方案
  • 信息技术 网站建设教案做是么网站