//求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个数的更多相关文章

  1. nyoj 678 最小K个数之和

    最小K个数之和 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 输入n个整数,输出其中最小的K个数之和.例如输入4,5,1,1,6,2,7,3,3这9个数字,当k=4 ...

  2. 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)

    前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些. 先拿10000个数建堆, ...

  3. 最小k个数

    题目 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 思考 方法0: 直接排序然后返回前k个,最好的时间复杂度为 O(nlo ...

  4. 最小K个数之和

    描述 输入n个整数,输出其中最小的K个数之和.例如输入4,5,1,1,6,2,7,3,3这9个数字,当k=4,则输出最小的4个数之和为7(1,1,2,3). 输入 测试样例组数不超过10 每个测试案例 ...

  5. 算法试题 - 找出最小 k 个数

    题目 题目:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 解析 思路1 这一题应用堆排序算法复杂度只有O(nlog k), ...

  6. 【13】堆排序 最小K个数

    题目 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 收获 优先队列实现 (n1,n2)->n2-n1是 ...

  7. 数据结构作业——N个数中未出现的最小整数(想法题)

    Description 给出一串数字,这串数字由 n 个数 ai 组成,找出未出现在这串数字中的最小正整数 Input 输入第一行为一个正整数 n (1 <= n <= 1000) 第二行 ...

  8. 剑指Offer28 最小的K个数(Partition函数应用+大顶堆)

    包含了Partition函数的多种用法 以及大顶堆操作 /*********************************************************************** ...

  9. 寻找最小(最大)的k个数

    题目描述:输入n个整数,输出其中最小的k个元素. 例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4. 思路1:最容易想到的方法:先对这个序列从小到大排序,然后输出前 ...

随机推荐

  1. 《OD大数据实战》Sqoop入门实例

    官网地址: http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.5-cdh5.3.6/SqoopUserGuide.html 一.环境搭建 1. 下载 s ...

  2. 非常非常好!写了好久 k-th-smallest-in-lexicographical-order

    https://leetcode.com/problems/k-th-smallest-in-lexicographical-order/ 我没做出来.还是脑子不够清醒. 下面这个解法真的很棒很棒. ...

  3. 如何使用adb命令查看android中的数据库

    1,进入到控制台中,输入adb shell,进入到命令模式的环境中 2,输入:cd /data/data/ 3, 选择你所在的数据库文件,比如我的com.android.homework, 输入命令: ...

  4. 10个实用的PHP正则表达式 (转)

    http://www.iteye.com/news/23231 1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. $email = & ...

  5. 一道program test题目

    前天去面试的一道上机测试题(凭记忆写的题目)Question:给定输入整数\(\left( k \right)\),找到最小的自然数\(n\left( {n \ge 1} \right)\),使得下列 ...

  6. ORACLE 修改日志大小及增加日志成员

    日志文件能不能resize,直接扩大日志文件的大小?10g是不能的. 网上的一般方法就是新建两个临时日志组(oracle至少要求两个日志组),切换到这两个临时日志组后,删掉重建扩大或缩小,再添加日志组 ...

  7. hbase+hive应用场景

    一.Hive应用场景本文主要讲述使用 Hive 的实践,业务不是关键,简要介绍业务场景,本次的任务是对搜索日志数据进行统计分析.集团搜索刚上线不久,日志量并不大 .这些日志分布在 5 台前端机,按小时 ...

  8. 表单Ext.form.FormPanel(转)

    1.表单 对于传统的b/s应用来说,数据录入元素是放在表单<form>标签里面的.而对于ExtJS应用来说,则可以直接使用FormPanel控件来存放表单中的元素.FormPanel继承自 ...

  9. Linux makefile教程之更新函数库文件十[转]

    使用make更新函数库文件 ——————————— 函数库文件也就是对Object文件(程序编译的中间文件)的打包文件.在Unix下,一般是由命令"ar"来完成打包工作. 一.函数 ...

  10. 一篇关于apache commons类库的详解

    1.1. 开篇 在Java的世界,有很多(成千上万)开源的框架,有成功的,也有不那么成功的,有声名显赫的,也有默默无闻的.在我看来,成功而默默无闻的那些框架值得我们格外的尊敬和关注,Jakarta C ...