牛客网 买帽子
[編程題] 買帽子
時間限制:1秒
空間限制:32768K
度度熊想去商場買一頂帽子,商場里有N頂帽子,有些帽子的價格可能相同。度度熊想買一頂價格第三便宜的帽子,問第三便宜的帽子價格是多少??輸入描述:
首先輸入一個正整數N(N <= 50),接下來輸入N個數表示每頂帽子的價格(價格均是正整數,且小于等于1000)輸出描述:
如果存在第三便宜的帽子,請輸出這個價格是多少,否則輸出-1輸入例子:
10 10 10 10 10 20 20 30 30 40 40輸出例子:
30 對輸入數據排序,然后用數組進行查重,數字由于不超過1000,可用一個長1000的數組來監測輸入的數字是否已經出現過,如未出現過count計數加一,如出現過跳過該數字,但count==3時跳出循環,輸出a[i]值,如循環結束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; }
總結
- 上一篇: 设计模式行为型-状态模式
- 下一篇: BI驾驶舱是什么?BI管理驾驶舱主要内容