第一个仅出现一次的数组元素
来源:互联网 发布:windows任务计划程序 编辑:程序博客网 时间:2024/06/16 00:30
给定一个整型数组,请写一个算法,找到第一个仅出现一次的数组元素,复杂度为O(n)
输入样例:
1,1,2,2,3,3,4,4,5,6,6,8,9,9
输出:
5
可以使用dictionary来做,遍历数组,把元素值作为key,元素出现次数作为value,其中key是一个array
代码如下:
int findNum(vector<int> a) { map<int,int> m; vector<int> key; for(int i = 0; i < a.size(); ++i){ if(m.count(a[i])){ //如果m中存在该key(元素址),则把key相应的value加1。 m[a[i]] += 1; }else{ //若m中不存在该key,则加进来。然后设置value为1。 key.push_back(a[i]); m[a[i]] = 1; } } //遍历,找到第一个value为1的key值,函数返回。 for(int i = 0; i < key.size(); ++i){ if(m[key[i]] == 1){ return key[i]; } } return 0;}
0 0
- 第一个仅出现一次的数组元素
- 输出第一个仅出现一次的字符
- 数组偶数个,只有两个元素仅出现一次,其他元素两两成对
- 整形数组,判断元素是否仅出现一次
- 不用for和while从任意字符串中找出第一个仅出现一次的字符
- 【面试题】:统计一串字符串中仅出现一次的第一个字符
- 编程练习——第一个仅出现一次的字符
- 找出数组中第一个只出现一次的字符
- 面试题35 第一个只出现一次的数组
- 数组中第一个出现一次的字符
- 奇数个元素,数组元素成对出现,找出只出现一次的数
- 美图面试问到的一个题:求一个字符串中第一个仅出现一次的字符
- 【算法练习】找出数组中仅出现一次的数字
- 找出数组中出现仅一次的数字
- 求字符串中仅出现一次的首个字符
- 算法:数组找出2个只出现一次的数字(其他元素出现两次)
- 数组中最出现一次的元素
- 数组中只出现一次的元素
- Qt Key
- flex中的AppEvnet.dispatch
- Linux内核应该怎么去学习?
- Oracle时间格式的SQL语句
- jquery设置文本框默认文字消失效果2种
- 第一个仅出现一次的数组元素
- flex基础代码
- vlc插件详细使用说明
- jQuery实现div单选与多选
- Splash Screen加载网络图片实现欢迎页的两种方法
- 锂离子电池和燃料电池特性介绍
- C#查询数据库填充表格
- SQL获取最新一笔数据的两个查询方法
- ISE的一些笔记