Leetcode 面试题 17.10. 主要元素

在这里插入图片描述
数组中占比超过一半的元素称之为主要元素。给你一个 整数 数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决方案。

示例 1:

输入:[1,2,5,9,5,9,5,5,5]
输出:5

示例 2:

输入:[3,2]
输出:-1

示例 3:

输入:[2,2,1,1,1,2,2]
输出:2

Code:

class Solution {
public:
    int majorityElement(vector<int>& nums) {

        sort(nums.begin(),nums.end());
        if(count(nums.begin(),nums.end(),nums[nums.size()/2])>nums.size()/2)
        return nums[nums.size()/2];
        return -1;
        
    }
};
posted @ 2022-06-30 21:59  萧海~  阅读(14)  评论(0编辑  收藏  举报