2017百度春招<度度熊买帽子的问题>

题目:

度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?

 

数组中找到第三小的数字  注意边界条件 用STL中的set来完成

#include<iostream>
#include<set>
using namespace std;
int N;
int main()
{
    cin >> N;
    int i, tmp;
    set<int> s;
    s.clear();
    for(i = 0; i < N; ++i){
        cin >> tmp;
        s.insert(tmp);
    }
    int len = s.size();
    if(len < 3){
        cout << -1 << endl;
         return 0;
    }
    i = 3;
    set<int>::iterator it = s.begin();
    while(--i != 0)
        ++it;
    cout << *it << endl;
    return 0;
}

 

posted @ 2017-04-28 13:12  StrongYaYa  阅读(693)  评论(0编辑  收藏  举报