博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Majority Element II
阅读量:4551 次
发布时间:2019-06-08

本文共 900 字,大约阅读时间需要 3 分钟。

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
majorityElement(vector
& nums) { 4 int n = nums.size(); 5 map
m; 6 vector
result; 7 8 for(int i = 0; i < n; i++){ 9 if(m.find(nums[i]) != m.end())10 m[nums[i]]++;11 else12 m[nums[i]] = 1;13 }14 15 for(map
::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 };

 

转载于:https://www.cnblogs.com/amazingzoe/p/4802476.html

你可能感兴趣的文章
ListBox 消息 (zz)
查看>>
计算机网络之万维网WWW
查看>>
作业2
查看>>
vim 笔记
查看>>
MySQL的基本使用命令
查看>>
第三次作业
查看>>
蓝桥杯-猜算式
查看>>
PHP定界符<<<EOF
查看>>
05_模板方法模式
查看>>
linux下搭建DHCP服务
查看>>
双曲函数与反双曲函数
查看>>
EF中的Select * From T Where id In(xxx,xxx)子查询
查看>>
自己写的一个校验IP、IP掩码、IP段的方法
查看>>
Node.js:模块系统
查看>>
jQuery.Data源码
查看>>
将博客搬至CSDN
查看>>
layui问题之模拟select点击事件
查看>>
ckplayer-超酷网页视频播放器的使用
查看>>
35+多用途WordPress主题
查看>>
KVO实现原理
查看>>