第二小整数

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8299    Accepted Submission(s): 5227
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
 
Author
yifenfei
 
Source
 
 
        这是一个求第k大的类似问题,转化一下就是第k小。
        不过这个题目数据很小,就是拿来卖萌的,排个序就好了。
 #include <stdio.h>
#include <algorithm>
int main()
{
int C, n, arr[];
scanf("%d", &C);
while(C--) {
scanf("%d", &n);
for(int i=; i<n; i++)
scanf("%d", arr+i);
std::sort(arr, arr+n);
printf("%d\n", arr[]);
}
return ;
}

        不过下午上机实在无聊,于是手痒写了快排思想的第k小。
        有学过快排的都很容易理解了,partition把数组分成两份,如果k(也就是2)在左边区间就对左边区间求第k小,或者在右边区间求。注意下标从0开始的话,k要减一下。
 #include <stdio.h>
#include <algorithm> int partition(int *arr, int p, int q) {
int pivot=arr[p];
int i=p, j=q;
while(i<j) {
while(arr[j]>=pivot&&i<j)
--j;
arr[i]=arr[j];
while(arr[i]<=pivot&&i<j)
++i;
arr[j]=arr[i];
}
arr[i]=pivot;
return i;
} int KthMin(int *arr, int p, int q, int k) {
int m=partition(arr, p, q);
if(m<k-)
return KthMin(arr, m+, q, k);
else if(m>k-)
return KthMin(arr, p, m-, k);
else
return arr[m];
} int main()
{
int C, n, arr[];
scanf("%d", &C);
while(C--) {
scanf("%d", &n);
for(int i=; i<n; i++)
scanf("%d", arr+i);
printf("%d\n", KthMin(arr, , n-, ));
}
return ;
}

HDOJ 2561. 第二小整数 第k大问题的更多相关文章

  1. HDU 2561 第二小整数(排序,水)

    第二小整数 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. HDOJ/HDU 2561 第二小整数(水题~排序~)

    Problem Description 求n个整数中倒数第二小的数. 每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1. Input 输入包含多组测试数据. 输入的第 ...

  3. HDU.2561 第二小整数(water)

    题目来源:2561 题意分析:找出一堆数中第二小的整数,和题目说的一样 我的思路:冒泡或者sort()一下就ok了,但是我因为没看到多个测试用例还是吃了几记WA . ┭┮﹏┭┮ 完整代码: #incl ...

  4. HDU 2561 第二小整数 (排序)

    题意:中文题. 析:输入后,排一下序就好. 代码如下: #include <iostream> #include <cstdio> #include <algorithm ...

  5. HDU-2561 第二小整数

    http://acm.hdu.edu.cn/showproblem.php?pid=2561 第二小整数 Time Limit: 3000/1000 MS (Java/Others)    Memor ...

  6. 【ACM】hdu_zs1_1004_第二小整数_201307271529

    第二小整数 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)Total Submissi ...

  7. 洛谷P1138 第k小整数

    我偏不用sort Treap好题啊 看到只有一个人写Treap,而且写的不清楚,那我就来详细地写一下,方便新人学习 第(-1)部分:前置知识 二叉查找树:满足左子树的数据都比根节点小,右子树的数据都比 ...

  8. ACM学习之路————一个大整数与一个小整数不得不说得的秘密

    这个相对于两个大整数的运算来说,只能说是,low爆了. 只要利用好除法的性质,这类题便迎刃而解.O(∩_∩)O哈哈~ //大整数除一个int数 #include<iostream> #in ...

  9. C语言 · 第二大整数

    算法提高 第二大整数   时间限制:1.0s   内存限制:512.0MB      问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束.然后程序将从这组整数中,把第二 ...

随机推荐

  1. IE开发人员工具之实用功能讲解

    F12快捷键调出开发人员工具 一.JS的内容格式化 1.内容较乱的js脚本: 2.勾选下面两项即可进行格式化脚本:自动换行与格式化JS 3.调理清楚的脚本 二:清空控制台 1.右键->清空 2. ...

  2. plsql查询乱码问题解决

    步骤一:新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可: 步骤二: 退出plsql,重新登陆plsql.输入sql语句,执 ...

  3. Oracle体系结构总结

    1.Oracle 体系结构摘要图 2.Oracle 体系结构相关笔记 1.Oracle 体系结构摘要图 2.Oracle 体系结构相关笔记 可参考Oracle Architecture系列随堂笔记: ...

  4. 使用java代码关闭指定端口的程序-windows

    转载请请在页首注明作者与出处 一:问题由史 今天遇到一个问题,就是在实现自动化灾备的时候,发现原有死掉的程序没有完全关闭,当然这都不是本文的重点,重点是这个时候,我得把它完全关闭,所以才有了这篇文章. ...

  5. [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...

  6. EF(Entity Framework)系统学习系列

    好久没写博客了,继续开启霸屏模式,好了,废话不多说,这次准备重新系统学一下EF,一个偶然的机会找到了一个学习EF的网站(http://www.entityframeworktutorial.net/) ...

  7. 使用roslyn代替MSBuild完成解决方案编译

    原本我是使用批处理调用 MSBuild 完成解决方案编译的,新版的 MSBuild 在 Visual Studio 2015 会自带安装. 当然在Visual Studio 2015 中,MSBuil ...

  8. Spring学习系列(一) Spring简介

    Spring简介 之前一直想写点东西,可一直没有开始实施,各种原因都有,最大原因可能还是自己太懒了,嘿嘿.最近在看Spring in action这本书,为了能让自己坚持下去把书看完,这次决定同步的在 ...

  9. Atitit  自动化gui 与 发帖机 技术

    Atitit  自动化gui 与 发帖机 技术 1.1. Gui tech1 1.2. 自动化软件测试1 1.3. selenium attilax1 1.4. 图形脚本语言Sikuli1 1.5. ...

  10. java Io流更新文件内容

    package com.hp.io; import java.io.FileOutputStream; import java.io.IOException; public class FileOut ...