牛客网 买帽子
[編程題] 買帽子
時(shí)間限制:1秒
空間限制:32768K
度度熊想去商場買一頂帽子,商場里有N頂帽子,有些帽子的價(jià)格可能相同。度度熊想買一頂價(jià)格第三便宜的帽子,問第三便宜的帽子價(jià)格是多少??輸入描述:
首先輸入一個(gè)正整數(shù)N(N <= 50),接下來輸入N個(gè)數(shù)表示每頂帽子的價(jià)格(價(jià)格均是正整數(shù),且小于等于1000)輸出描述:
如果存在第三便宜的帽子,請輸出這個(gè)價(jià)格是多少,否則輸出-1輸入例子:
10 10 10 10 10 20 20 30 30 40 40輸出例子:
30 對輸入數(shù)據(jù)排序,然后用數(shù)組進(jìn)行查重,數(shù)字由于不超過1000,可用一個(gè)長1000的數(shù)組來監(jiān)測輸入的數(shù)字是否已經(jīng)出現(xiàn)過,如未出現(xiàn)過count計(jì)數(shù)加一,如出現(xiàn)過跳過該數(shù)字,但count==3時(shí)跳出循環(huán),輸出a[i]值,如循環(huán)結(jié)束count<3則輸出-1;代碼如下:
#include <iostream> #include <algorithm> #include <cstring> using namespace std; int f[1001]; int main() {int n;int a[51];int i;while(~scanf("%d",&n)){int count=0;memset(f,0,sizeof(f));for(i=0; i<n; i++)scanf("%d",&a[i]);sort(a,a+n);for(i=0; i<n; i++){if(f[a[i]]==0){f[a[i]]=1;count++;}if(count==3)break;}if(count==3)printf("%d",a[i]);elseprintf("-1");printf("\n");}return 0; }
總結(jié)
- 上一篇: 设计模式行为型-状态模式
- 下一篇: BI驾驶舱是什么?BI管理驾驶舱主要内容