zoukankan      html  css  js  c++  java
  • Leetcode-169 Majority Element

    #169 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/2,数组又假定已经非空。采用分治法,每找到两个不同的元素,则成对删除,最终剩下的一定就是所求的。

      

     1 class Solution {
     2 public:
     3     int majorityElement(vector<int>& nums) {
     4         int most = 0;
     5         int cnt = 0;
     6         for(int i=0;i<nums.size();i++)
     7         {
     8             if(cnt==0) 
     9             {
    10                 most=nums[i];
    11                 cnt++;
    12             }
    13             else
    14             {
    15                 if(nums[i]==most)
    16                 {
    17                     cnt++;
    18                 }
    19                 else
    20                 {
    21                     cnt--;
    22                 }
    23             }
    24             
    25         }
    26         return most;
    27     }
    28 };
  • 相关阅读:
    LM NTML NET-NTLM2理解及hash破解
    HTML转义字符&url编码表
    ZooKeeper未授权漏洞
    阉割版BBBlack安装Debian
    在ANTMINER(阉割版BeagleBone Black)运行Debain
    Ubuntu/Debian下通过Apt-get简单安装Oracle JDK
    [Linux]几个armhf的ubuntu源
    [Ubuntu]管理开机启动项的软件
    CentOS搭建NFS服务
    [C#]SharpSSH-一个可以使用SSH连接的.NET库
  • 原文地址:https://www.cnblogs.com/fengxw/p/6061602.html
Copyright © 2011-2022 走看看