169. majority element

Easy

https://leetcode.com/problems/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:

1
2
Input: [3,2,3]
Output: 3

方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class (object):
def majorityElement(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums)==1:
return nums[0]
cnt = 0
ans = 0
for i in range(len(nums)):
if cnt==0:
ans = nums[i]
cnt += 1
else:
if nums[i]==ans:
cnt += 1
else:
cnt -= 1
return ans

类似题目:

229. Majority Element II