头歌资源库(12)找第K小数

2024-06-20 03:52
文章标签 小数 资源库 头歌

本文主要是介绍头歌资源库(12)找第K小数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 问题描述

二、算法思想  

       可以使用快速排序算法来解决这个问题。

       首先,选择一个基准元素,通常选择序列的第一个元素。

       然后,将序列中小于等于基准元素的元素放在基准元素的左边,大于基准元素的元素放在基准元素的右边。

       接着,递归地对左右两个子序列进行快速排序。

       最后,当子序列的长度小于等于K时,返回第K个元素。

三、代码实现   

#include<stdio.h>
int Part(int a[],int low,int high)
{int povit=a[low];while(low<high){while(low<high && a[high]>=povit){high--;}a[low]=a[high];while(low<high && a[low]<povit){low++;}a[high]=a[low];}a[low]=povit;return low;
}
void quicksort(int a[],int low,int high)
{if(low<high){int povitpos=Part(a,low,high);quicksort(a,low,povitpos-1);quicksort(a,povitpos+1,high);}
}
int main()
{int N,K;scanf("%d %d",&N,&K);int a[50];for(int i=1;i<=N;i++){scanf("%d",&a[i]);}quicksort(a,1,N);printf("%d\n",a[K]);return 0;
}

执行结果  

  结语  

知识改变下限

天赋决定上限

!!!

这篇关于头歌资源库(12)找第K小数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1077023

相关文章

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

Java中四舍五入保留两位小数或不保留小数

//四舍五入,不保留小数; float gr = 8; float gc = 3; DecimalFormat df1 = new DecimalFormat("0");//格式化小数,不足的补0 String gaver = df1.format((gr/gc));//返回的是String类型的      //四舍五入,保留两位小数; float g1 = 111; f

C/C++两点坐标求距离以及C++保留两位小数输出,秒了

目录 1. 前言 2. 正文 2.1 问题 2.2 解决办法 2.2.1 思路 2.2.2 代码实现 3. 备注 1. 前言 依旧是带来一个练手的题目,目的就一个,方法千千万,通向终点的方式有很多种,没有谁与谁,我们都是为了成为更好的自己。 2. 正文 2.1 问题 题目描述: 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。 输入格式:

【舍入,取整,取小数,取余数丨Excel 函数】

数学函数 1、Round函数 Roundup函数 Rounddown函数 取整:(Int /Trunc)其他舍入函数: 2、Mod函数用Mod函数提取小数用Mod函数 分奇偶通过身份证号码判断性别 1、Round函数 Roundup函数 Rounddown函数 Round(数字,保留几位小数)(四舍五入) Roundup (向上舍入) 在x轴上向正负无穷大靠近 Roun

题目:输入 5 个数(含负数、小数)将它们按由小到大的顺序排列起来。提示:需要排序的数字通过参数传递进来。

题目:输入 5 个数(含负数、小数)将它们按由小到大的顺序排列起来。 提示:需要排序的数字通过参数传递进来。 例如: 输入:-1 2.1 -3 5 7 输出: -3 -1 2.1 5 7 import java.util.Scanner;public class FuShuXiaoShuPaiXu {public static void swap(double[] arr,int a,in

带小数的String转整数Integer

其实String和Integer、Float、Double等相互转换这都很容易。可是带小数的String转Float、Double可能会出现“模糊数字”。 那么怎么避免呢?见下实例和结论。 System.out.println("**********2.4***********");String a = "2.4"; System.out.println(a); // 2.4System.o

素材无水印素材网站在哪下载?高清的无水印素材资源库分享

找高清无水印素材?蛙学网、Pixabay 等资源库全揭秘! 创意十足的你,是不是常为网上素材的烦人水印而头疼?总在寻找高清、干净、无水印的素材资源,却无从下手?别急,今天就为大家推荐几个超实用的高清无水印素材资源库,让你的作品更上一层楼! 蛙学网 作为优质素材网站的新秀,蛙学网为新手创作者提供了大量无水印的视频素材,不仅资源丰富,还有4K高清风景视频和情感类素材包。对于需要短视频素

POJ1001高精度小数运算

题目链接:http://poj.org/problem?id=1001 题目意思:输入实数R和次数n,输出pow(R,n)?     0.0 < R < 99.999  0 < n <= 25 分析:数据规模很小,直接n次R的乘法,不会C++大数,暴力都没A过,然后就试java了,java不知道double有没有,于是用BigInteger做,然后移动小数位。第一发RE了,在测试10.000

关于HBulider连接svn资源库显示暂挂中或文件不存在等问题

原因: HBulider自带的SVN插件版本较低(1.6版本),自己下载最新的版本即可。 方法: HBulider中,工具--插件安装--浏览eclipse插件市场 然后在搜索框中输入“svn” 之后会弹出安装框,等待安装完毕即可。这样应该就可以解决问题。

#1133 : 二分·二分查找之k小数 ( 快速排序, 分治 OR nth_element() 函数)

#1133 : 二分·二分查找之k小数 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回里我们知道Nettle在玩《艦これ》,Nettle的镇守府有很多船位,但船位再多也是有限的。Nettle通过捞船又出了一艘稀有的船,但是已有的N(1≤N≤1,000,000)个船位都已经有船了。所以Nettle不得不把其中一艘船拆掉来让位给新的