给定一个长度为n的数组,返回众数。众数是指数组中出现次数超过n/2次的元素

假设数组非空,众数一定存在

Example 1:

Input: [3,2,3]

Output: 3

Example 2:

Input: [2,2,1,1,1,2,2]

Output: 2

1:字典,累记数组中出现的各元素的次数,一旦发现超过n/2次的元素就返回该元素

def majorityElement(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

if len(nums)==1:

return nums[0]

numDic = {}

for i in nums:

if numDic.has_key(i):

numDic[i] += 1

if numDic.get(i)>=(len(nums)+1)/2:

return i

else:

numDic[i] = 1

2:利用list.count()方法判断(注意for循环中如果是访问整个nums列表会出现“超出时间限制”的错误)

def majorityElement(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

for i in nums[len(nums)//2:]:

if nums.count(i)>len(nums)//2:

return i

3:sorted(nums)[len(nums)//2]

def majorityElement(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

return sorted(nums)[len(nums)//2]

算法题来自:https://leetcode-cn.com/problems/majority-element/description/

python中求众数_Python实现求众数的三种方法相关推荐

  1. python中none算变量吗_在python中对变量判断是否为None的三种方法总结

    三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...

  2. python怎么循环终止_Python 循环终止语句的三种方法小结

    Python 循环终止语句的三种方法小结 在Python循环终止语句有三种: 1.break break用于退出本层循环 示例如下: while True: print "123" ...

  3. 怎么在python中添加文字_Python在图片中添加文字的两种方法

    本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...

  4. python连接数据库的技术_Python操作MySQL数据库的三种方法

    (1) 什么是MySQLdb? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. ...

  5. 用python批量下载网络图片_python批量下载图片的三种方法

    一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: sele ...

  6. Python中记住过去(模型状态)的五种方法

    在Python中记住过去(模型状态)的五种方法 从封闭函数和迭代器到状态机Python库 有人说... "那些不能记住过去的人,注定要重复它".G. Santayana, 1905 ...

  7. java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...

    package com.sino.java7; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; i ...

  8. python求1到n的乘积_Python实现矩阵相乘的三种方法小结

    问题描述 分别实现矩阵相乘的3种算法,比较三种算法在矩阵大小分别为22∗2222∗22, 23∗2323∗23, 24∗2424∗24, 25∗2525∗25, 26∗2626∗26, 27∗2727 ...

  9. python dict遍历文件_python 字典(dict)遍历的四种方法性能测试报告

    python中,遍历dict的方法有四种.但这四种遍历的性能如何呢?我做了如下的测试 l = [(x,x) for x in xrange(10000)]d = dict(l)from time im ...

  10. python dict遍历性能_python 字典(dict)遍历的四种方法性能测试报告

    python中,遍历dict的方法有四种.但这四种遍历的性能如何呢?我做了如下的测试 l = [(x,x) for x in xrange(10000)] d = dict(l) from time ...

最新文章

  1. C 一样快,Ruby 般丝滑的 Crystal 发布 1.0 版本,你看好吗?
  2. C#开发微信门户及应用(25)-微信企业号的客户端管理功能
  3. 什么是元宇宙?为何要关注它?
  4. BUU[SCTF2019]Strange apk
  5. 572. 另一个树的子树
  6. Codeforces Round #392(div 2) 758D (贪心)
  7. python库_python使用ctypes库调用DLL动态链接库_python
  8. hiveserver2启动不起来_汽车一键启动除了点火,还有这些功能!车主:现在才明白...
  9. Task Parallel Library
  10. 物流货代公司管理系统
  11. 职场人,职场事,八卦一下职场那些有意思的公众号
  12. java取html中的table_htmlunit 操作table表格(一)
  13. 使用Eclipse,Kemulator模拟器配置J2ME工程
  14. 笔记本安装linux无线网卡,笔记本安装centos7 无线网卡启动不起来,那位大神看看?...
  15. 拉普拉斯矩阵与正则化
  16. 图像滤镜艺术---LOMO Filter
  17. python(应用)中文输出拼音
  18. Java中 VO、PO、DO、DTO、BO、QO、DAO、POJO的概念
  19. 喜报丨为工业安全赋能再添新动力 上海控安安全测评中心荣获CNAS认可
  20. C++ Windows Hook 消息钩子 详解

热门文章

  1. 打造适合 Ruby on Rails 开发的 Sublime Text
  2. mybatis多参数传递(其中包括数组)
  3. scala下使用akka计算圆周率pi
  4. 第四季-专题1-课程规划与学习方法
  5. rails errors样式自定义
  6. 用户行为分析最重要的3个点 渠道转化留存
  7. DUBBO服务启动过程
  8. [JarvisOj][XMAN]lTell Me Something
  9. Android Studio 第五十三期 - 自定义EditText密码键盘
  10. 动手实现MVC: 4. AOP的设计与实现