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

华为机试—删除连续出现大于等于3的数字

时间:2015-01-09 00:16:32      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:华为   机试   

输入一组数字(最多15个),去掉连续次数大于等于三的数字,如果去掉后仍有连续次数大于等于三的,继续进行同样的处理,直到结果中没有出现连续次数大于等于三的数字为止。
如果最终全部消除完了 输出“none”


输入:1 1 1 1 2 2 2 1 3 3 3 3 1 1 1

输出:none 

#include<iostream>
#include<map>
#include<vector>
using namespace std;
int main(int argc, char *argv[])
{
    vector<int>vec;
    vector<int>data;
    map<int,int>m;
    int a;
    while(cin>>a)
    {
        m[a]++;
        vec.push_back(a);
    }
    for(vector<int>::iterator iter=vec.begin();iter!=vec.end();++iter)
    {
        if(m[*iter]<3)
            data.push_back(*iter);
    }
    if(data.empty()==true)
        cout<<"none"<<endl;
    else{
        cout<<*data.begin();
        for(vector<int>::iterator iter=data.begin()+1;iter!=data.end();++iter)
        {
            cout<<" "<<*iter;
        }
        cout<<"\n";
    }

    return 0;
}


华为机试—删除连续出现大于等于3的数字

标签:华为   机试   

原文地址:http://blog.csdn.net/wdkirchhoff/article/details/42537187

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