zoukankan      html  css  js  c++  java
  • 从长度为n的整形数组中返回m个最大数(不许使用排序)

     1 public static int[] GetTheManyMaxValues(int[] arr, int number)
     2 {
     3     if (arr == null || number <= 0 || arr.Length < number) return null;
     4     List<int> lst = new List<int>();
     5     for (int i = 0; i < number; i++)
     6     {
     7         lst.Add(arr[i]);
     8     }
     9     for (int i = number; i < arr.Length; i++)
    10     {
    11         int min = GetTheMinValue(lst);
    12         if (min < arr[i])
    13         {
    14             lst.Remove(min);
    15             lst.Add(arr[i]);
    16         }
    17     }
    18     return lst.ToArray();
    19 }
     1 public static int GetTheMinValue(List<int> lst)
     2 {
     3     int min = lst[0];
     4     foreach (int number in lst)
     5     {
     6         if (min > number)
     7         {
     8             min = number;
     9         }
    10     }
    11     return min;
    12 }
  • 相关阅读:
    第一次团队作业
    第二次结对作业
    动态代理与AOP
    笔试题
    java并发面试题(带答案)
    线程问题——同步和死锁
    java线程的方法
    java实现多线程的方法
    使用java闭锁实现并发
    Java多线程——同步问题
  • 原文地址:https://www.cnblogs.com/panchunting/p/interview_tech_algorithm.html
Copyright © 2011-2022 走看看