求n个数中的最大或最小k个数
//求n个数中的最小k个数
public static void TestMin(int k, int n)
{
Random rd = new Random();
int[] myArray = new int[n];
int[] newArray = new int[k];
for (int i = 0; i < n; i++)
{
// randomNumber = rd.Next(10000, 10000000);
myArray[i] = rd.Next(1, 1000);
Console.WriteLine(myArray[i]);
}
Console.WriteLine("**********************");
for (int i = 0; i < k; i++)
{
newArray[i] = myArray[i];
Console.WriteLine(newArray[i]);
}
Console.WriteLine("**********************");
Array.Sort(newArray);
for (int j = k; j < n; j++)
{
int max = newArray[k - 1];
// Console.WriteLine("The last five" + newArray[i]);
if (max < myArray[j])
{
continue;
}
else
{
newArray[k - 1] = myArray[j];
Array.Sort(newArray);
}
}
foreach (int i in newArray)
Console.WriteLine(i);
}
//求n个数中的最大k个数
public static void TestMax(int k, int n)
{
Random rd = new Random();
int[] myArray = new int[n];
int[] newArray = new int[k];
for (int i = 0; i < n; i++)
{
// randomNumber = rd.Next(10000, 10000000);
myArray[i] = rd.Next(1, 1000);
Console.WriteLine(myArray[i]);
}
Console.WriteLine("**********************");
for (int i = 0; i < k; i++)
{
newArray[i] = myArray[i];
Console.WriteLine(newArray[i]);
}
Console.WriteLine("**********************");
Array.Sort(newArray);
for (int j = k; j < n; j++)
{
int max = newArray[0];
// Console.WriteLine("The last five" + newArray[i]);
if (max > myArray[j])
{
continue;
}
else
{
newArray[0] = myArray[j];
Array.Sort(newArray);
}
}
foreach (int i in newArray)
Console.WriteLine(i);
}
求n个数中的最大或最小k个数的更多相关文章
- nyoj 678 最小K个数之和
最小K个数之和 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 输入n个整数,输出其中最小的K个数之和.例如输入4,5,1,1,6,2,7,3,3这9个数字,当k=4 ...
- 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些. 先拿10000个数建堆, ...
- 最小k个数
题目 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 思考 方法0: 直接排序然后返回前k个,最好的时间复杂度为 O(nlo ...
- 最小K个数之和
描述 输入n个整数,输出其中最小的K个数之和.例如输入4,5,1,1,6,2,7,3,3这9个数字,当k=4,则输出最小的4个数之和为7(1,1,2,3). 输入 测试样例组数不超过10 每个测试案例 ...
- 算法试题 - 找出最小 k 个数
题目 题目:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 解析 思路1 这一题应用堆排序算法复杂度只有O(nlog k), ...
- 【13】堆排序 最小K个数
题目 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 收获 优先队列实现 (n1,n2)->n2-n1是 ...
- 数据结构作业——N个数中未出现的最小整数(想法题)
Description 给出一串数字,这串数字由 n 个数 ai 组成,找出未出现在这串数字中的最小正整数 Input 输入第一行为一个正整数 n (1 <= n <= 1000) 第二行 ...
- 剑指Offer28 最小的K个数(Partition函数应用+大顶堆)
包含了Partition函数的多种用法 以及大顶堆操作 /*********************************************************************** ...
- 寻找最小(最大)的k个数
题目描述:输入n个整数,输出其中最小的k个元素. 例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4. 思路1:最容易想到的方法:先对这个序列从小到大排序,然后输出前 ...
随机推荐
- HDU 4638 Group(分组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4638 题意:给出一个数列,若干询问.每次询问区间[L,R]的最少有多少段?每一段是连续的一段且这段内的 ...
- 《OD学oozie》20160813
一.日志收集项目案例 1. oozie中依赖jar包 在工作目录下创建lib目录,上传依赖包的lib目录下 2. 作业 将日志收集与处理项目案例使用oozie的workflow执行 3. coordi ...
- 实现JavaScript中继承的三种方式
在JavaScript中,继承可以通过三种手法实现原型链继承 使用apply.call方法 对象实例间的继承. 一.原型链继承 在原型链继承方面,JavaScript与java.c#等语言类似 ...
- Linux 总结1
============================= 一般 ========================================= chown -R oracle:oinstall ...
- git cheatsheet小抄本
https://www.kernel.org/pub/software/scm/git/docs/git.html
- Qt之QTableView显示富文本
简述 对于QTableView中的显示,我们前面介绍过很多种,其中包括:文本.进度条.复选框等,今天我们介绍一下关于富文本的显示. 可能绝大多数小伙伴会通过QAbstractTableModel中的d ...
- 51nod1379 索函数
果断打表找规律.然后看得出来是2^k-1之后又不知道怎么求出k有什么卵用... http://blog.csdn.net/guhaiteng/article/details/52094210 %%%% ...
- smarty 初始配置文件
<?php define("ROOT",str_replace("\\","/",dirname(__FILE__)).'/'); r ...
- java中正则表达式的应用
java.util.regex Pattern的应用 public static void main(String[] args) { //简单的正则匹配.从给定的字符串中匹配正则表达式 //匹配 ...
- 开发者必须知道的HTML5十五大新特性
HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术.然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性. 一起来看下: 1.新的文档类型 ( ...