LeetCode: 169. Majority Element

来源:互联网 发布:跳跃网络推荐账号 编辑:程序博客网 时间:2024/06/07 12:17

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.

Credits: Special thanks to @ts for adding this problem and creating
all test cases.

自己的答案:

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;    }}