Lintcode:主元素

来源:互联网 发布:ipad淘宝hd微淘在哪 编辑:程序博客网 时间:2024/05/21 07:43

给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。


样例

给出数组[1,1,1,1,2,2,2],返回 1



python:

class Solution:    """    @param: nums: a list of integers    @return: find a  majority number    """    def majorityNumber(self, nums):        # write your code here        ele = nums[0]        count = 0                for i in nums:            if ele == i:                count += 1            else:                count -= 1                if count < 0:                    ele = i        return ele


C++:

class Solution {public:    /*     * @param nums: a list of integers     * @return: find a  majority number     */    int majorityNumber(vector<int> &nums) {        // write your code here        int ele = nums[0];        int count = 0;        for (int i = 0; i < nums.size(); i++)        {            if (ele == nums[i])            {                count++;            }else{                count--;                if (count < 0)                    ele = nums[i];            }        }        return ele;    }};

原创粉丝点击