[leetcode] 169. Majority Element

原创 2016年05月30日 11:00:32

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.

Solution:

Idea: sort numbers and return (n/2)th element

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        return nums[floor(nums.size()/2)];
    }
};

Solution: 

Idea: randomly select one element and check its appliance time in the array. It runs faster.

<span style="font-size:14px;">class Solution {
public:
    int majorityElement(vector<int>& nums) {
        srand(unsigned(time(NULL)));
        int n = nums.size();
        while(true){
            int elem = nums[rand()%n];
            int counter = 0;
            for(int i=0; i<n; i++){
                if(nums[i]==elem)
                    counter++;
            }
            if (counter > n/2)
                return elem;
        }

    }
};</span>

Solution:

Idea: hash table by using unordered_map

<span style="font-size:14px;">class Solution {
public:
    int majorityElement(vector<int>& nums) {
        unordered_map<int, int> counter;
        int n = nums.size();
        int major;
        for(int i=0; i<n; i++){
            if(++counter[nums[i]]>n/2){
                major = nums[i];
                break;
            }
        }
        return major;
    }
};</span>





版权声明:本文为博主原创文章,未经博主允许不得转载。

第二周:[LeetCode]169. Majority Element

[LeetCode]169. Majority ElementGiven an array of size n, find the majority element. The majority ele...
  • line02
  • line02
  • 2017年03月03日 12:18
  • 101

LeetCode169. Majority Element题解

1. 题目描述Given an array of size n, find the majority element. The majority element is the element th...
  • lby0910
  • lby0910
  • 2017年03月01日 21:28
  • 138

LeetCode 题解 169. Majority Element(查找多数元素)

LeetCode解题报告

LeetCode-169&229.Majority Element

https://leetcode.com/problems/majority-element/ Given an array of size n, find the majority elemen...

leetcode-169 Majority Element(Moore's voting algorithm)

最近在刷LeetCode的题(169 Majority Element)的时候,发现一个特别巧妙的算法:Moore’s voting algorithm。 这个算法是解决这样一个问题:从一个数组中找...
  • sole_cc
  • sole_cc
  • 2015年02月17日 11:12
  • 414

LeetCode 169 Majority Element(主要元素)(vector、map)

翻译给定一个长度为n的数组,找出主要的元素。所谓主要的元素是指的出现次数超过⌊ n/2 ⌋次的元素。你可以假定这个数组是非空的,并且“主要元素”一定是存在的。原文Given an array of s...
  • NoMasp
  • NoMasp
  • 2016年01月12日 15:48
  • 1642

【算法作业3】LeetCode 169. Majority Element

第三章算法作业:LeetCode 169. Majority Element

【LeetCode-169】Majority Element

今天整理了一下解这道题的方法,感觉大神就是大神,永远都那么神,写的代码帅呆了 package leetcode; import java.util.*; public class Majority...

leetcode:169. Majority Element

描述Given an array of size n, find the majority element. The majority element is the element that appe...
  • Earl211
  • Earl211
  • 2017年03月21日 09:41
  • 361

Leetcode算法学习日志-169 Majority Element

leetcode 169 Majority Element 一、题干        Given an array of size n, find the majority element. The...
  • Zarlove
  • Zarlove
  • 2017年07月10日 19:48
  • 109
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode] 169. Majority Element
举报原因:
原因补充:

(最多只允许输入30个字)