[LeetCode] Majority Element

Question:

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.

1、题型分类:

2、思路:

3、时间复杂度:O(n)

4、代码:

public class Solution {

    public int majorityElement(int[] nums) {

        Map<Integer, Integer> map=new HashMap<Integer, Integer>();

        int majorCnt=0,major=0;

        for(int i=0;i<nums.length;i++)

        {

            int t=map.get(nums[i])!=null?map.get(nums[i]).intValue()+1:1;

            if(t>majorCnt) 

            {

                majorCnt=t;

                major=nums[i];

            }

            map.put(nums[i], t);

        }

        return major;

    }

}

 

5、优化:

6、扩展:

你可能感兴趣的:(LeetCode)