例如,我有一个如下所示的数组:
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;
}
有没有更快捷的方式来选择最小数量?
答案 0 :(得分:6)
有没有更快捷的方式来选择最小数量?
不,这是最快的。您无法更快地找到最小值,除非对数组进行排序,或者其元素遵循任何其他特殊放置策略:您必须检查所有元素以找到最小值,因此任何算法都将与您的代码基本相同。
答案 1 :(得分:3)
使用LINQ中的Min()函数
var min = arrayOne.Min();
答案 2 :(得分:2)
这种算法也称为线性搜索,它只使用一个循环即O(n)算法,它不能更快。
答案 3 :(得分:1)
假设我在5张纸上写下5个数字并面朝下。我给你看4个数字。然后,我问你5号码中最小的号码是多少。 你能否在没有看到第五个号码的情况下回答这个问题?如果答案是否定的,那么当然,你不能更快。