zoukankan      html  css  js  c++  java
  • Majority Element:主元素

    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.



    求主元素:包括n个元素的数组中。假设一个元素的出现次数大于n/2(向下取整)次。则该元素为主元素。

    依据定义,则每两个数中必有一个是主元素,设定一个变量cnt=0。当两个数同样时。cnt++,不同一时候,cnt--。用变量
    majority来记录主元素,每当cnt=0时,把当前元素赋给majority。成为候选的主元素。这样一来。最后的majority的值一定就是主元素。



    代码例如以下:
    class Solution {
    public:
    int majorityElement(vector<int> &num) {
        int majority;
        int cnt = 0;
        for(int i=0; i<num.size(); i++){
            if ( cnt ==0 ){
                majority = num[i];
                cnt++;
            }else{
                majority == num[i] ? cnt++ : cnt --;
                if (cnt > num.size()/2) return majority;
            }
        }
        return majority;
    
    }
    };














  • 相关阅读:
    maven
    XML
    软件安装配置
    常用命令
    hadoop 简单安装部署
    反射技术(一篇)
    SpringBoot(九篇)
    Struts2(十六篇)
    Spring(七篇)
    Spring MVC(七篇)
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7039322.html
Copyright © 2011-2022 走看看