//求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. aop郁闷错误

    很郁闷的错误,终于解决了: <aop:config>  <aop:aspect ref="log">   <aop:pointcut id=" ...

  2. XE4 IOS开发环境配置

    l 配置IOS的安装开发环境 使用RAD XE4开发IOS程序,一台MAC是必须的(也可以用虚拟机), MAC上需要安装Xcode, 独立版本的Commnand Line Tools 以及RAD的pa ...

  3. IIS7或者IIS7.5部署MVC项目时出现404错误

    IIS7或者IIS7.5部署MVC项目时出现404错误 服务器上需要安装Windows 补丁 kb980368  下载链接:http://support.microsoft.com/kb/980368

  4. UVa401 回文词

    Palindromes A regular palindrome is a string of numbers or letters that is the same forward as backw ...

  5. 新浪微博顶部新评论提示层效果——position:fixed

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. activiti 源码笔记之startProcess

    rumtimeService.startProcessInstanceByXX方法将启动流程的任务委派给StartProcessInstanceCmd,此时会根据rumtimeService.star ...

  7. ecshop lib包含lib文件

    在lbi文件中增加lbi方法 方法1. {include file='library/name.lbi '} 方法2. <?php echo $this->fetch('library/n ...

  8. [原创] Ubuntu Linux 安装Eclipse

    一 安装JDK 1.下载 JDK 7从http://www.oracle.com/technetwork/java/javasebusiness/downloads/选择下载JDK的最新版本 JDK ...

  9. LoopBar – Tap酒吧与无限滚动

    相约 LoopBar – 标签栏与无限滚动为Android由Cleveroad 在Cleveroad我们最近认识到通过使用任何一个应用程序类别的导航,导航面板是很无聊和琐碎.这就是为什么我们的设计师的 ...

  10. JS一般般的网页重构可以使用Node.js做些什么(转)

    一.非计算机背景前端如何快速了解Node.js? 做前端的应该都听过Node.js,偏开发背景的童鞋应该都玩过. 对于一些没有计算机背景的,工作内容以静态页面呈现为主的前端,可能并未把玩过Node.j ...