Majority Element
Easy
ArrayHash TableDivide and ConquerSortingCounting
Given an array `nums` of size `n`, return the majority element. The majority element is the element that appears **more than** `⌊n / 2⌋` times. You may assume that the majority element always exists in the array.
**Example 1:**
```
Input: nums = [3,2,3]
Output: 3
```
**Example 2:**
```
Input: nums = [2,2,1,1,1,2,2]
Output: 2
```
Could you solve the problem in linear time and in O(1) space (Boyer-Moore Voting Algorithm)?
Expected Time Complexity
O(n)
Expected Space Complexity
O(1)
Example Test Cases
Example 1
Input:
[3,2,3]
Output:
3
Example 2
Input:
[2,2,1,1,1,2,2]
Output:
2