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;
    
    }
    };














  • 相关阅读:
    20150306+Linux安装+常用命令-01
    补充:javascript
    补充:数组循环与思路
    补充:控制语句
    DOM操作的概念
    什么是数组?
    补充:MySQL整理
    MySQL数据查询
    补充:MySQL经典45道题型
    表单 form:标签、类型、注意事项
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7039322.html
Copyright © 2011-2022 走看看