码迷,mamicode.com
首页 > 其他好文 > 详细

计蒜客 15 map遍历

时间:2015-07-03 17:32:35      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
#include<cstdio>
#include<map>
#include<algorithm>
using namespace std;
int main()
{
    map<int,int>q;
    int n,x;
	scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&x);
       if(q.count(x)) 
           q[x]++;
        else
            q[x]=1;
    }
    map<int ,int >::iterator it;
    for(it=q.begin();it!=q.end();++it)
    {
        if(it->second==1)
        {
            cout<<it->first;
        }
    }
    return 0;
}
这一题由于没有给出n的数据范围,可能会很大。那么数组开太大就会爆。所以这里用STL的map模板最合适,刚好学习一下map的遍历知识


 2201次   20.2%   1000ms  10000K
给定一个数组,除了一个数出现1次之外,其余数都出现3次。找出出现一次的数。
如:{1, 2, 1, 2, 1, 2, 7}, 找出7.
格式:
   第一行输入一个数n,代表数组的长度,接下来一行输入数组A[n],(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。
要求:
   你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~
样例1
输入:
4
0 0 0 5
输出:

5





版权声明:本文为博主原创文章,未经博主允许不得转载。

计蒜客 15 map遍历

标签:

原文地址:http://blog.csdn.net/qq_24489717/article/details/46743011

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!