//求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. BZOJ 2743 采花(树状数组)

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2743 题意:给出一个数列,每个询问查询[L,R]中至少出现两次的数字有多少种? 思路:(1 ...

  2. BZOJ 3224 普通平衡树(树状数组)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=3224 题意:维护以下操作:(1)插入x:(2)删除x(若有多个相同的数,只删除一个)(3 ...

  3. BZOJ 2228 礼物(gift)(最大子长方体)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2228 题意:给出一个只含有NP两种字母的长方体.从中找出只含有字母N的长方体,造型为a* ...

  4. 谈谈map中的count方法

    map和set两种容器的底层结构都是红黑树,所以容器中不会出现相同的元素,因此count()的结果只能为0和1,可以以此来判断键值元素是否存在(当然也可以使用find()方法判断键值是否存在). 拿m ...

  5. Caused by: 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)"

    Caused by: 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor- ...

  6. Intellij IDEA13 创建多模块Maven项目

    目标:构建一个类似于如下图所示的这种结构的Maven项目. 首先,需要选中“File”——>“New Project”如下图所示 选中“Maven”,设置项目名称与项目构建地址,点击“Next” ...

  7. python练习程序(c100经典例17)

    题目: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. def foo(a): l=len(a); letters=0; space=0; digit=0; others=0; f ...

  8. ecshop 改变sitemap.xml的位置

    大家知道ECSHOP默认的sitemap.xml文件是放置在data文件夹中的,但是这不利于GOOGLE的抓取.我们必须把sitemap.xml文件放置在根目录下 在admin/sitemap.php ...

  9. 【英语】Bingo口语笔记(36) - ʌn的发音

    同样音标 读音相同 找最有把握的一个词

  10. Heritrix源码分析(九) Heritrix的二次抓取以及如何让Heritrix抓取你不想抓取的URL

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/644396       本博客已迁移到本人独立博客: http://www.yun5u ...