百度--买帽子
度度熊想去商場買一頂帽子,商場里有N頂帽子,有些帽子的價格可能相同。度度熊想買一頂價格第三便宜的帽子,問第三便宜的帽子價格是多少?
輸入描述:
首先輸入一個正整數N(N <= 50),接下來輸入N個數表示每頂帽子的價格(價格均是正整數,且小于等于1000)輸出描述:
如果存在第三便宜的帽子,請輸出這個價格是多少,否則輸出-1輸入例子:
10 10 10 10 10 20 20 30 30 40 40輸出例子:
30?
這道題想用set集合來做,set有自動排序的功能,而且相同的值只能有一個,所以當把所有的價錢放進set集合后,set中的第三個數就是我們要的價格。當然,在此之前我們需要判斷一下set.size()是否小于3,如果小于3,則輸出-1。
?
#include <iostream> #include <algorithm> #include "string.h" #include "stdio.h" #include <vector> #include<utility> #include "math.h" #include <set> using namespace std;int main() {int n;set<int> arr;cin>>n;if(n>50)return 0;for(int i = 0;i<n;i++){int hat;cin>>hat;if(hat>1000)return 0;elsearr.insert(hat);}if(arr.size()<3){cout<<"-1"<<endl;return 0;}set<int>::iterator ite1 = arr.begin();//這里是想把指向第一個元素的迭代器++,使它指向set中的第三個元素for(int i=0;i<2;i++){ite1++;}cout<<*ite1<<endl;return 0;}
?
轉載于:https://www.cnblogs.com/omelet/p/6798358.html
總結
                            
                        - 上一篇: 网络爬虫的基本结构是什么?如何建立网络爬
 - 下一篇: 无人机寻迹要两个单片机吗_单片机寻迹小车