博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
169. Majority Element
阅读量:5072 次
发布时间:2019-06-12

本文共 1050 字,大约阅读时间需要 3 分钟。

problem

Given an array of size n, find the majority element.The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty and the majority element always exist in the array.题目大意:给定一个长度为n的数组,寻找其中的“众数”。众数是指出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的并且数组中的众数永远存在。

解答

  • 此想法
    循环嵌套 ==nums.count(x)== 时间复杂度过高
class Solution(object):    def majorityElement(self, nums):        """        :type nums: List[int]        :rtype: int        """        for x in nums:            if nums.count(x) > len(nums)/2:                return x
  • 考虑 二分 set等方式
class Solution(object):    def majorityElement(self, nums):        """        :type nums: List[int]        :rtype: int        """        length = len(nums)/2        listelement = set(nums)        for x in listelement:            if nums.count(x) > length:                return x

写的很粗糙,这个link比较分明

https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_majority_vote_algorithmhttp://www.cs.utexas.edu/~moore/best-ideas/mjrty/index.html

转载于:https://www.cnblogs.com/salmd/p/5906985.html

你可能感兴趣的文章
上周热点回顾(8.12-8.18)
查看>>
HDU 1029: Ignatius and the Princess IV
查看>>
【MongoDB】CentOS上安装MongoDB
查看>>
HTML超链接使用
查看>>
java取得当前日期增加一天或多天
查看>>
php问题
查看>>
HttpWebRequest和WebClient的用法
查看>>
CMDB学习之七-实现采集错误捕捉,日志信息处理
查看>>
CSS display 属性
查看>>
vue+element-ui 实现分页
查看>>
python基本语法1.4--初识爬虫
查看>>
leetcode weekly contest137
查看>>
Android Studio 添加Assets目录
查看>>
如何理解移动数据和移动计算
查看>>
通过PHP怎样取到android系统下apk应用的包名,版本号等信息
查看>>
Jsp 国际化访问首页选择展示不同字体小例子
查看>>
toString()和toLocaleString()的区别
查看>>
GIT入门笔记(20)- git 开发提交代码过程梳理
查看>>
api-gateway实践(05)新网关工作 - 缓存定义
查看>>
github入门:设置添加ssh key<转>
查看>>