**Problem Statement:**
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.
**Hint / Expected Approach:**
Boyer-Moore Voting Algorithm
**Edge Cases to Consider:**
- (1) Single element
- (2) All same elements
- (3) Majority at very end