leetcode_num169_Majority Element

来源:互联网 发布:头颅移植手术 知乎 编辑:程序博客网 时间:2024/06/14 13:52

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.

class Solution {public:    int majorityElement(vector<int> &num) {        int max=num[0],count=1;        for(int i=1;i<num.size();i++){            if (count==0){                max=num[i];                count++;            }            else if (max==num[i]){                count++;            }            else                count--;        }        return max;    }};
利用Moore's voting algorithm选出次数超过半数以上的元素~~复杂度o(n)

0 0
原创粉丝点击