我是一个初学者,需要克服一些简单的挑战,但似乎无法弄清楚这个问题。代码只是一种用于查找数组中最大和最小数字的函数,即使这并不是一种有效的方法,我也不知道代码从哪里获得整数。有人能阐明这一点吗?
using System;
using System.Linq;
public class Program
{
public static double[] FindMinMax(double[] values)
{
double small = values.Min();
double big = values.Max();
double result = new double[small, big];
return result;
}
}
我不知道代码从哪里获取int
您在这里(new double[small, big]
)要求它创建一个尺寸为(例如)17.2×42.6的二维(矩形)数组-它是那些要成为整数的尺寸。
我认为您的意思是使用两个值作为内容创建一个向量(基于零的单维数组):
double[] result = new double[] {small, big};
虽然我怀疑价值元组会更有效地工作,即
public static (double Min, double Max) FindMinMax(double[] values)
{
// ...
return (small, big);
}
您可能还想研究编写一个显式的单循环来检查每个步骤的最小值和最大值,而不是两次迭代,这是否是最佳选择(可能不是)。但是只要数据不是很大,就没有关系。而如果它是巨大的,那么你进入分片一样的阵列和执行并行最小/最大的不同碎片,然后聚合碎片结果的话题。这里也可能有SIMD选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句