OpenJudge计算概论-找出第k大的数
/*================================================
找出第k大的数
总时间限制: 1000ms 内存限制: 1000kB
描述
用户输入N和K,然后接着输入N个正整数(无序的),程序在不对N个整数排序的情况下,找出第K大的数。注意,第K大的数意味着从大到小排在第K位的数。并且,要求大家编写这个程序要用到自定义的函数。 输入
N
K
a1 a2 a3 a4 ..... aN
输出
b
样例输入
5
2
32 3 12 5 89
样例输出
32 解析:对每一个数,找一找有多少个数比他大,
如果有0个数比他大,那他就是第1,如果有1个数比他大,那么他就是第2。
那么关系就明确了,如果有n个数比他大,那么他就是第n+1大的
==================================================*/
#include<stdio.h>
int function(int n,int k)
{
int p;
int b;
int a[];
int i;
int j;
for(i=;i<n;i++)
scanf("%d",&a[i]); for(i=;i<n;i++)
{
p=;
for(j=;j<n;j++)
{
if(i!=j&&a[j]>a[i])
p++;
if(p>=k)//已经有多于k个数比a[i]大
break;
}
if(j==n&&p==k-)//遍历了整个数组,正好有k-1个数比a[i]大,所以a[i]就是第K大的数
{
b=a[i];
break;
}
}
return b;
} int main()
{
int n;
int k;
scanf("%d",&n);
scanf("%d",&k);
printf("%d\n",function(n,k));
return ;
}
这个其实应该有更好地策略。比如选择排序选到第k次应该就行了。
OpenJudge计算概论-找出第k大的数的更多相关文章
- OpenJudge计算概论-找和为K的两个元素
/*============================================================== 找和为K的两个元素 总时间限制: 1000ms 内存限制: 65536 ...
- 【基础算法】排序-复杂排序之二(找出第K大的数)
切割的思想是高速排序最精髓的地方.每一次切割出来的元素K一个排在第K位,所以利用这样的思想我们至少知道3点 1. 被切割出来的元素K最后一定排在第K位. 2. 在K左边的元素一定比K小或者相等. 3. ...
- 从数组中找出第K大的数
利用改进的快排方法 public class QuickFindMaxKValue { public static void main(String[] args) { int[] a = {8, 3 ...
- 刷题-力扣-1738. 找出第 K 大的异或坐标值
1738. 找出第 K 大的异或坐标值 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-kth-largest-xor-co ...
- 719. 找出第 K 小的数对距离
719. 找出第 K 小的数对距离 这道题其实有那么一点二分猜答案的意思,也有很多类似题目,只不过这道题确实表达的不是很清晰不容易想到,题没问题,我的问题.既然是猜答案,那么二分边界自然就是距离最大值 ...
- 1738. 找出第 K 大的异或坐标值
2021-05-19 LeetCode每日一题 链接:https://leetcode-cn.com/problems/find-kth-largest-xor-coordinate-value/ 标 ...
- OpenJudge计算概论-找最大数序列
/*===================================== 找最大数序列 总时间限制: 1000ms 内存限制: 65536kB 描述 输入n行(n 不大于 30),每行不超过10 ...
- OpenJudge计算概论-求出e的值
/*======================================================================== 求出e的值 总时间限制: 1000ms 内存限制: ...
- 乱序数组中第k大的数(顺序统计量)
该问题是顺序统计量中十分经典的问题. 使用快排中的分区法,将第k大的数排序.若双向扫描分区加上三点中值法或绝对中值法,可以保证在 O(n) 时间里找出第k大的数. 补充:可以直接使用C++STL中的n ...
随机推荐
- SQLSEVER刚建表时主键自增
alter table 表名 drop column ID alter table 表名 add ID int identity(1,1)
- C# - 配置动态更新
生产中经常会遇到修改配置的情况,但是又需要重启应用程序,是不是有点小烦躁.... 下面了解下在不重启情况下,实现配置更新实时生效 public static void SetConfig(string ...
- Django之简介
一.MVC模型与MTV模型 MVC模型就是Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起 ...
- sudo 权限的管理
一.sudo执行命令的流程将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户.具体工作过程如下:当用户执行sudo时,系统 ...
- seaborn模块的基本使用
Seaborn是基于matplotlib的Python可视化库. 它提供了一个高级界面来绘制有吸引力的统计图形.Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图 ...
- Vue -- filters 过滤器、倒计时效果
局部过滤器 时间.***号 <div id="wrapper" class="wrapper" style="display: none;&qu ...
- Django REST framework+Vue 打造生鲜电商项目(笔记六)
(部分代码来自https://www.cnblogs.com/derek1184405959/p/8836205.html) 九.个人中心功能开发 1.drf的api文档自动生成 (1) url #d ...
- 2019-2020-1 20199312《Linux内核原理与分析》第六周作业
删除旧版menu克隆新版menu并运行 rm -rf menu git clone http://github.com/mengning/menu.git make rootfs 查看新增功能,及其具 ...
- Max Tree
Description Given an integer array with no duplicates. A max tree building on this array is defined ...
- Soda Theme sublime 自定义编辑器主题
1.Soda ThemeSublime Text 3中较为常用的一款自定义编辑器主题,用过的人都说好.Soda Theme包含代码着色.标签.图标,拥有light和dark两种颜色主题便于用户在不同时 ...