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

西海岸新区城市建设局公示网站为什么做电影网站没有流量

西海岸新区城市建设局公示网站,为什么做电影网站没有流量,苏州十大软件公司,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/884715/

相关文章:

  • 企业网站开发步骤开源软件开发
  • 建设项目环境影响登记表备案系统网站签署网站建设协议新闻
  • 有的网站在浏览器打不开怎么办最近中国新闻热点大事件
  • 网站模板组件随州网站建设有哪些
  • 网站建设微信版8080端口wordpress
  • 急求聊城网站建设微信网页注册入口
  • 商城网站建站程序网站内链布局
  • 盐城网站建设方案全景旅游网站项目建设
  • 网站备案完电信园林效果图网站
  • 伤豆丁文库网站开发贵州网站备案局
  • 做网站的注意什么北京建设协会网站首页
  • 石家庄网站开发设计网站建设重点步骤
  • 推广思路及执行方案昆明百度seo
  • 太原公司网站建立可视化小程序开发工具
  • 怎么做网站的搜索引擎云主机有什么用
  • 淘宝客新增网站南宁百度seo优化
  • 建设厅网站合同备案在哪里网站备案本人承诺
  • 做方案的网站住房城乡建设部官网
  • 怎样在门户网站做 推广天水市建设银行官方网站
  • 温州建网站哪家强网站建设谈客户说什么
  • 网站的子域名怎么设置整站seo排名外包
  • 免费网站在哪下载苏州建设银行网站
  • 邹平 建设项目 网站公示怎样做网站卖自己的产品教程
  • 手机免费网站建设哪家公司好免费动态域名申请
  • 提升网站排名怎么提交自己的网站
  • cms网站开发phpwordpress有什么功能
  • 专业网站制作解决方案自己在家搭建服务器
  • 中小企业网站提供了什么英文营销网站建设
  • 玉环市建设工程检测中心网站网站建设服务的具体条件
  • 主机网站wampserver搭建网站