从整数数组中选择最小数的更快的方法
本文关键字:方法 小数 整数 数组 选择 | 更新日期: 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个数字中最小的是什么。你能在不看第五个数字的情况下回答这个问题吗?如果答案是否定的,那么你当然不能再快了