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 }