题目描述
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:

输入: [3,2,3]
输出: 3

示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2

思路:

  1. 数组先排序,然后取length/2的元素。时间复杂度:O(nlog(n)),空间复杂度O(1)
  2. 摩尔投票法。时间复杂度:O(n),空间复杂度O(1)
  3. 使用Map保存每个元素的计数,然后遍历Map取计数最大值。时间复杂度:O(nlog(n)),空间复杂度O(n)

思路1实现代码:

public int majorityElement(int[] nums) {Arrays.sort(nums);return nums[nums.length/2];}

思路2,摩尔投票法是统计占多数票的算法。

参考博客:https://blog.csdn.net/tfcy694/article/details/82717808
对应实现代码如下:

/*** 摩尔投票算法* @param nums* @return*/public int majorityElement(int[] nums) {int res = nums[0];int count=1;for(int i=1;i<nums.length;i++) {if(res == nums[i]) {count++;}else {count--;if(count ==0) {res=nums[i];count=1;}}}return res;}

思路3也很简单,代码就不贴出来了

2019-03-11-算法-进化(求众数)相关推荐

  1. 【每日一算法】求众数

    微信改版,加星标不迷路! 每日一算法-求众数 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你 ...

  2. c语言分治法求众数重数_分治算法:求众数及其重数

    问题描述: 给定含有 n 个元素的多重集合 S,每个元素在 S 中出现的次数称为该元素的重数.多重集合 S 中重数最大的素称为众数.例如多重集合 S={1,2,2,7,2,7,5},其中众数是 2,其 ...

  3. BetterFE 前端技术周刊 - 2019/03/11

    ## 深阅读 活动web页面人机识别验证的探索与实践 推荐理由:在做WEB活动页的时候,经常出现恶意作弊,刷API接口来提升人气,对普通用户特别不友好.此时便需要工程师做一些验证,区分本次行为是人为还 ...

  4. android个人理财通项目_公告|MNSC项目周报(2019.03.11—2019.03.20)

    点击蓝字关注我们 Introduction关于我们 MNSC | 全球首批矿场STO区块链项目,全球最大的STO平台,专注数字资产证券化,整合全球实力实体企业. 加入MNSC,从此家里有矿! Hi,大 ...

  5. AI+5G:2019.03.31第11届中国(深圳)IT领袖峰会【IT新未来: 5G与人工智能】内容概要

    AI+5G:2019.03.31第11届中国(深圳)IT领袖峰会[IT新未来: 5G与人工智能]内容概要 导读 5G+AI双核启动会更加珠联璧合.相得益彰. IOT 采集数据 → Deel Learn ...

  6. RSA算法习题 (采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。)

    1.采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文. 2. 找出质数 P.Q P=11 Q=13 3. 计算公共模数 N = P * Q = 143 4 ...

  7. CSDN日报191105:2019年11月全国程序员工资统计,区块链工程师比算法工资高

    CSDN日报来啦!给大家奉上当日最新鲜的技术干货! 2019年11月全国程序员工资统计,区块链工程师比算法工资高 作者:有数可据 我每个月第一天(也许是第二天,第三天),会爬招聘网站,并在CSDN发布 ...

  8. 2019年11月全国程序员工资统计,区块链工程师比算法工资高。

    我每个月第一天(也许是第二天,第三天),会爬招聘网站,并在CSDN发布. 趋势 本月全国程序员平均工资为13451元,比上个月略涨. 北上广深杭工资趋势 区块链程序员的工资 职能 工资 系统架构师 2 ...

  9. c语言分治法求众数重数_算法实验二 分治法 众数问题.pdf

    算法实验二 分治法 众数问题 算法分析与设计实验二 分治法 主要内容 • 实验目的 • 主要实验仪器设备和环境 • 实验内容 • 实验要求 • 注意点 实验目的 • 理解分治法的基本思想 • 针对特定 ...

  10. Bentley-Ottmann算法:求N条线段的交点

    Bentley-Ottmann算法:求N条线段的交点 Bentley-Ottmann算法 算法复杂度 1. 使用暴力求解,遍历每一条线段 i ,固定 i 遍历 j 与 i 是否存在交点: 2. 此时我 ...

最新文章

  1. 资讯丨谷歌 AutoML AI系统写的机器学习代码,完爆程序员
  2. Python zmq的三种简单模式
  3. 数据结构之Trie树
  4. 应用程序“DEFAULT WEB SITE/ICLOCK”中的服务器错误
  5. asp.net出现:当前标识(NT AUTHORITY\NETWORK SERVICE)没有对' '的写访问权限。
  6. 【已解决】Errors during downloading metadata for repository ‘appstream‘: - Status code: 404 for
  7. 设计模式之(Factory method)工厂方法模式
  8. 电脑计算机网络由基础到深入常用知识集锦!
  9. python将mat文件转为png
  10. 计算机加工的过程和类型,3.1.2计算机信息加工的过程和类型
  11. hik中心服务器登录失败,蒲公英云平台登录失败解决方案
  12. 基于HT for Web矢量实现3D叶轮旋转
  13. 灵思致远测色仪色差宝和颜色识别器APP介绍
  14. medsem-中介效应:基于结构方程模型SEM的中介效应分析
  15. 水仙花数n位c语言程序,水仙花数C语言的
  16. 麻省理工学院公开课:单变量微积分
  17. 五禽戏 (中国传统健身方法)
  18. 《Java并发编程的艺术》一一2.1 volatile的应用
  19. html编辑器怎么设置为excel,excel2013宏编辑器的设置方法教程
  20. 阿里云服务器购买及使用流程(新手入门图文教程)

热门文章

  1. Qt 第二步 熟悉文件结构组成(二)
  2. 比__autoload 更灵活的 spl_autoload_register 用法
  3. print的describe的展示全部数据_大数据项目中的QA需要迎接新的挑战
  4. php的_auto,AutoPHPCheck下载
  5. 服务器连接不稳定fifa,fifa服务器链接异常
  6. 螺丝刀还能悬浮起来?
  7. 火了!女教授把自己P成女娲,登上学术期刊封面
  8. 做题不如巧做题,初中数学题型解题技巧都在这!
  9. 第106届印度科学大会:牛顿和爱因斯坦的理论惨遭印度科学家驳斥
  10. 深度学习与机器学习到底什么关系?