2018-10-11
/度度熊想去商場買一頂帽子萨西,商場里有N頂帽子,有些帽子的價(jià)格可能相同。度度熊想買一頂價(jià)格第三便宜的帽子佑笋,問第三便宜的帽子價(jià)格是多少?
輸入描述:
首先輸入一個(gè)正整數(shù)N(N <= 50)抽减,接下來輸入N個(gè)數(shù)表示每頂帽子的價(jià)格(價(jià)格均是正整數(shù)允青,且小于等于1000)
輸出描述:
如果存在第三便宜的帽子,請輸出這個(gè)價(jià)格是多少,否則輸出-1
輸入例子1:
10
10 10 10 10 20 20 30 30 40 40
輸出例子1:
30/
原本解題思路:遍歷尋找最小颠锉,尋找第二小法牲,垃圾想法
查百度
使用set容器,從set的begin迭代器琼掠,遞增兩次拒垃,如果迭代器是有效的,則輸出值否則輸出-1.
還用關(guān)于auto這個(gè)關(guān)鍵詞的用法可以自己推倒變量類型
#include <iostream>
#include <set>
using namespace std;
int main()
{
int N;
cin >>N;
set<int> arr;
for (int i =0;i<N;++i)
{
int a;
cin>>a;
arr.insert(a);
}
auto iter = arr.begin();
if (iter != arr.end())
{
iter++;
}
if (iter != arr.end())
{
iter++;
}
if (iter!=arr.end())
{
cout << *iter << endl;
}
else
{
cout << -1<<endl;
}
return 0;
}