求第三便宜的帽子

来源:互联网 发布:js获取一个对象的长度 编辑:程序博客网 时间:2024/06/10 14:46


题目描述:

度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?

  输入描述: 首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)   

  输出描述: 如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1 

 输入例子: 10 (个数)

10 10 10 10 20 20 30 30 40 40  

输出例子: 30

#include<iostream>#include <algorithm>#include<vector>using namespace std;void find_thirdpoor(int *arr,int len){vector<int> res;    int i=0;for(;i<len;i++){res.push_back(arr[i]);}sort(res.begin(),res.end());int equalnum=0;int tempdata=res[0];    i=0;for(;i<res.size();i++){if(res[i]!=tempdata){tempdata=res[i];equalnum++;if(equalnum==2){cout<<tempdata<<endl;break; }}}if(equalnum!=2){cout<<-1<<endl;    }    }     int main(){    int arr[]={10,10,10,10,20,20,15,30,30,40,40};    int n=sizeof(arr)/sizeof(arr[0]);     find_thirdpoor(arr,n);system("pause");    return 0;}
测试输出结果:

测试用例:1. int arr1[]={10,10,10,10,20,20,30,30,40,40};

                  2.int arr2[]={10,10};

                  3.nt arr3[]={10,10,10,10};


void test(){    int arr1[]={10,10,10,10,20,20,30,30,40,40};    int n1=sizeof(arr1)/sizeof(arr1[0]);    find_thirdpoor(arr1,n1);int arr2[]={10,10};    int n2=sizeof(arr2)/sizeof(arr2[0]);    find_thirdpoor(arr2,n2);int arr3[]={10,10,10,10};    int n3=sizeof(arr3)/sizeof(arr3[0]);    find_thirdpoor(arr3,n3);system("pause");    }
输出结果:




阅读全文
0 0
原创粉丝点击