leetcode

Leetcode submissions
git clone git://git.laack.co/leetcode.git
Log | Files | Refs | README

majority.cpp (912B)


      1 #include <iostream>
      2 #include <map>
      3 #include <vector>
      4 
      5 
      6 //Leet Ratings
      7 //       Speed  Memory
      8 //Total  21ms    19.6MB    
      9 //Beats  57.4%   37.39%
     10 
     11 
     12 
     13 using namespace std;
     14 
     15 int majorityElement(vector<int>& nums) {
     16     map <int, int> num_map;
     17     for(int i = 0; i < nums.size() ; ++i){
     18         if(num_map.find(nums[i]) != num_map.end()){
     19             num_map[nums[i]] += 1;
     20         }
     21         else{
     22             num_map.insert({nums[i] , 1});
     23         }
     24     }
     25 
     26     //Get most common number
     27 
     28     int largest_val = nums[0];
     29     int largest_num = 0;
     30     for(auto i = num_map.begin() ; i != num_map.end() ; ++i){
     31         if(i -> second > largest_num){
     32             largest_num = i ->second;
     33             largest_val = i -> first;
     34             
     35         }
     36     }
     37     return largest_val;
     38 }
     39 
     40 
     41 
     42 
     43 int main(){
     44     vector<int> nums = {0, 2, 2, 4, 5, 6, 7, 2 , 2, 2, 2};
     45     cout << majorityElement(nums) << endl;
     46 
     47 
     48     
     49     return 0;
     50 }