首页 分享 hdu 1.3.3 2561 第二小整数 自己的解法及其他解法

hdu 1.3.3 2561 第二小整数 自己的解法及其他解法

来源:花匠小妙招 时间:2025-05-14 14:18

最新推荐文章于 2021-08-11 09:19:04 发布

秦格伍兹 于 2012-03-29 19:40:29 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原题:

第二小整数

Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 834 Accepted Submission(s): 554 

Problem Description

求n个整数中倒数第二小的数。
每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1。

Input

输入包含多组测试数据。
输入的第一行是一个整数C,表示有C测试数据;
每组测试数据的第一行是一个整数n,表示本组测试数据有n个整数(2<=n<=10),接着一行是 n个整数 (每个数均小于100);

Output

请为每组测试数据输出第二小的整数,每组输出占一行。

Sample Input

2 2 1 2 3 1 1 3

Sample Output

2 1

这题是水题,主要是其他人的解法让我受教了~

先贴自己的代码,就是自己按照思路排序:

#include<iostream>

using namespace std;

int main ()

{

int a[100];

int t , n;

cin>>t;

while( t-- )

{

cin>>n ;

for( int i=0; i< n ; i++ )

cin>>a[i];

sort( a , a+n );

cout<<a[1]<<endl;

}

system("pause");

return 0;

}

cpp

然后是个用优先队列的:我就学习个优先队列

#include<stdio.h>

#include<math.h>

#include <queue>

#include<algorithm>

#include <iostream>

using namespace std;

int main()

{

int t;

cin>>t;

while (t--)

{

priority_queue < int >q;

int n;

cin>>n;

while(n--)

{

int num;

scanf("%d",&num);

if(q.empty())q.push(num);

else

{

if(q.size()<2)q.push(num);

else

{

if(num<q.top())

{

q.push(num);

q.pop();

}

}

}

}

printf("%dn",q.top());

}

return 0;

}

cpp

最后还有个用排序算法的:

#include<iostream>

using namespace std;

int main ()

{

int a[100];

int t , n;

cin>>t;

while( t-- )

{

cin>>n ;

for( int i=0; i< n ; i++ )

cin>>a[i];

sort( a , a+n );

cout<<a[1]<<endl;

}

return 0;

}

cpp

相关知识

备考压力缓解法
线性方程组AX=b几种解法的比较研究
一元二次方程的解法习题课学案
眼影不上色怎么回事 5大眼妆问题解法
什么是大树分解法?附PPT课件
绝对值方程的解法(帮我解下4道题)|x
求1 + 2^a + 2^(2a+1) = b^2的整数解
家庭养植君子兰常见问题及解法方法
恶魔之花,烧脑拼图。六只不同的花朵,三种解法。牛人只拼出来一种。
plsql 求水仙花的loop\while\for 三种解法

网址: hdu 1.3.3 2561 第二小整数 自己的解法及其他解法 https://www.huajiangbk.com/newsview1954223.html

所属分类:花卉
上一篇: excel图表编辑技巧:波形柱状
下一篇: JS 1000以内的水仙花数 (

推荐分享