Leetcode 169. Majority Element
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: 3Example 2:
Input: [2,2,1,1,1,2,2] Output: 2
想法是先排序,然后直接找中间往右一个数就是众数。代码如下:
class Solution(object):
def majorityElement(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums) == 1:
return nums[0]
temp = sorted(nums)
k = len(nums)//2
return temp[k]
#a = temp[0]
#count = 1
#for i in temp[1:len(nums)]:
# if a == i:
# count = count+1
# else:
# count = 1
# a = i
# if count > k:
# return a
#
beat 78%+ 时间复杂度为O(nlog(n)) 空间为O(n)