求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:最容易想到的方法:先对这个序列从小到大排序,然后输出前 ...
随机推荐
- aop郁闷错误
很郁闷的错误,终于解决了: <aop:config> <aop:aspect ref="log"> <aop:pointcut id=" ...
- XE4 IOS开发环境配置
l 配置IOS的安装开发环境 使用RAD XE4开发IOS程序,一台MAC是必须的(也可以用虚拟机), MAC上需要安装Xcode, 独立版本的Commnand Line Tools 以及RAD的pa ...
- IIS7或者IIS7.5部署MVC项目时出现404错误
IIS7或者IIS7.5部署MVC项目时出现404错误 服务器上需要安装Windows 补丁 kb980368 下载链接:http://support.microsoft.com/kb/980368
- UVa401 回文词
Palindromes A regular palindrome is a string of numbers or letters that is the same forward as backw ...
- 新浪微博顶部新评论提示层效果——position:fixed
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- activiti 源码笔记之startProcess
rumtimeService.startProcessInstanceByXX方法将启动流程的任务委派给StartProcessInstanceCmd,此时会根据rumtimeService.star ...
- ecshop lib包含lib文件
在lbi文件中增加lbi方法 方法1. {include file='library/name.lbi '} 方法2. <?php echo $this->fetch('library/n ...
- [原创] Ubuntu Linux 安装Eclipse
一 安装JDK 1.下载 JDK 7从http://www.oracle.com/technetwork/java/javasebusiness/downloads/选择下载JDK的最新版本 JDK ...
- LoopBar – Tap酒吧与无限滚动
相约 LoopBar – 标签栏与无限滚动为Android由Cleveroad 在Cleveroad我们最近认识到通过使用任何一个应用程序类别的导航,导航面板是很无聊和琐碎.这就是为什么我们的设计师的 ...
- JS一般般的网页重构可以使用Node.js做些什么(转)
一.非计算机背景前端如何快速了解Node.js? 做前端的应该都听过Node.js,偏开发背景的童鞋应该都玩过. 对于一些没有计算机背景的,工作内容以静态页面呈现为主的前端,可能并未把玩过Node.j ...