码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 求众数

时间:2019-03-25 01:07:22      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:and   col   div   class   NPU   inpu   --   turn   public   

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.

Example 1:

Input: [3,2,3]
Output: 3

Example 2:

Input: [2,2,1,1,1,2,2]
Output: 2
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        int num=1,ans=nums[0],n=nums.size();
        for(auto i=1;i<n;++i){
            if(ans!=nums[i]){
                --num;
                if(num==0){
                    ans=nums[i+1];
                }
            }
            else{
                ++num;
            }
        }
        int N=0;
        for(auto i=0;i<n;++i){
            if(nums[i]==ans){
                ++N;
            }
        }
        return ans;
    }
};

 

LeetCode 求众数

标签:and   col   div   class   NPU   inpu   --   turn   public   

原文地址:https://www.cnblogs.com/Mered1th/p/10591228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!