美文网首页
169. Majority Element

169. Majority Element

作者: hyhchaos | 来源:发表于2016-11-24 14:31 被阅读10次

Javascript

/**
 * @param {number[]} nums
 * @return {number}
 */
var majorityElement = function(nums) {
    var m=[];
    for(var i=0;i<nums.length;i++)
    {
        if(m[nums[i]])
        m[nums[i]]++;
        else 
        m[nums[i]]=1;
        if(m[nums[i]]>nums.length/2)
        {
        return nums[i];
        }
    }
};

看到两个比较好的想法

Java,比较简洁,排序后的中间的数必定是答案

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

Java,时间复杂度O(n),空间复杂度O(1),

public class Solution {
    public int majorityElement(int[] nums) {
        int candidate = 0;
        int count = 0;
        for (int num : nums) {
            if (count == 0) {
                candidate = num;
                count++;
            } else if (candidate == num) {
                count++;
            } else {
                count--;
            }
        }
        return candidate;
    }
}

相关文章

网友评论

      本文标题:169. Majority Element

      本文链接:https://www.haomeiwen.com/subject/ggmbpttx.html