169. Majority Element
Easy
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.
Example 1:
Input: [3,2,3] Output: 3
Example 2:
Input: [2,2,1,1,1,2,2]解: 逐步檢查: 誰一超過一半 就馬上輸出
這樣也滿快的
class Solution(object):
def majorityElement(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
m=len(nums)
l={}
for i in nums:
if i in l:
l[i]+=1
else:
l[i]=1
if l[i]>m//2:MOore 投票法:
速度上更快一些 O(n) linear time and O(1) space
class Solution(object):
def majorityElement(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
count=1
num=nums[0]
for i in nums:
if i==num:
count+=1
if i!=num:
count=count-1
if count==0:
num=i
count=1
return num
return i
No comments:
Post a Comment