题目:
度度熊想去商场买一顶帽子,商场里有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; }