zoukankan      html  css  js  c++  java
  • Majority Element II

    Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorithm should run in linear time and in O(1) space.

    Analyse: map. 

    Runtime: 40ms.

     1 class Solution {
     2 public:
     3     vector<int> majorityElement(vector<int>& nums) {
     4         int n = nums.size();
     5         map<int, int> m;
     6         vector<int> result;
     7         
     8         for(int i = 0; i < n; i++){
     9             if(m.find(nums[i]) != m.end())
    10                 m[nums[i]]++;
    11             else
    12                 m[nums[i]] = 1;
    13         }
    14         
    15         for(map<int, int>::iterator ite = m.begin();  ite != m.end(); ite++){
    16             if(ite->second > n / 3)
    17                 result.push_back(ite->first);
    18         }
    19         return result;
    20     }
    21 };
  • 相关阅读:
    用户登录
    open >>>文件操作
    随机数
    内置函数
    函数练习
    函数的动态参数
    函数的指定参数
    函数的普通参数
    函数的初步认识
    copy
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/4802476.html
Copyright © 2011-2022 走看看