169. Majority Element

Description

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]
Output: 2

My Solution

Source Code

1
2
3
4
5
6
7
8
/**
 * @param {number[]} nums
 * @return {number}
 */
let majorityElement = function(nums) {
    nums = nums.sort();
    return nums[Math.floor((nums.length) / 2)]
};

Analysis

If we have a sorted array and we know ahead of time that there will be an element that appears more than n/2 times, then we know for sure that the median element of the array will be that element.

JavaScript uses quicksort for its sort() implementation so the running time for this solution is simply O(nlogn).