LeetCode – 169. 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.

这道题我用了取巧的办法,排序,然后中间的数肯定是majority。顺便回忆了下快速排序的写法(这里没写)

还有个解法是用投票法,这里也贴出来了。(不是我写的)

public class Solution {
    public int majorityElement(int[] nums) {
        Arrays.sort(nums);
        return nums[nums.length / 2];        
    }
}
public class Solution {
    public int majorityElement(int[] num) {

        int major=num[0], count = 1;
        for(int i=1; i<num.length;i++){
            if(count==0){
                count++;
                major=num[i];
            }else if(major==num[i]){
                count++;
            }else count--;
            
        }
        return major;
    }
}

This site Original article All followed" Attribution—NonCommercial—ShareAlike 4.0 (CC BY-NC-SA 4.0) ”。 Please keep the following marks for sharing and interpretation:

Original author: Jake Tao Source: 「LeetCode – 169. Majority Element」

Praise 136
0 0 136

Further reading

Post a reply

Log in can only be commented on later
Share this page
Back to top