从整数数组中选择最小数的更快的方法

本文关键字:方法 小数 整数 数组 选择 | 更新日期: 2023-09-27 18:17:38

例如,我有一个数组如下:

int[] arrayOne = new int[10]{3,1,29,5,2,4,7,10,38,42};

下面是我从数组

中选择最小值的方法
       int pickMinNumber (int[] intArray)
        {
          int result = intArray[0];
          for (int i = 0; i < arrayOne.Length; i++)
           {
                if(intArray[i] < result)
                   result = intArray[i];
           }
          return result;
        }

有没有更快的方法来选择最小数量?

从整数数组中选择最小数的更快的方法

有没有更快的方法来选择最小数量?

不,这是最快的了。您无法更快地找到最小值,除非对数组进行排序,或者它的元素遵循任何其他特殊的放置策略:您必须检查所有元素以找到最小值,因此任何算法基本上都与您的代码做相同的事情。

使用LINQ中的Min()函数

var min = arrayOne.Min();

这个算法也被称为线性搜索,它只使用一个循环,这是O(n)算法,它不能得到任何更快。

假设我在5张纸上写5个数字,面朝下。我给你看4个数字。然后,我问你5个数字中最小的是什么。你能在不看第五个数字的情况下回答这个问题吗?如果答案是否定的,那么你当然不能再快了