如何查找数组中最大的三个数字(JavaScript)
发布时间:2022-09-23 11:53:57
发布人:syq
我们将给出一个数组作为我们唯一的参数,我们需要返回一个数组,其中包含按升序排列的最大三个值。
问题...
我们将给出一个数组作为我们唯一的参数,我们需要返回一个数组,其中包含按升序排列的最大三个值。有趣的是,我们无法对输入数组进行排序。
仔细想想
有很多方法可以实现这一结果,但我想坚持使用最基本的方法。
我需要设置一种方法来存储这三个最高值,并在我迭代输入时准确跟踪它们。
如果这是我们追求的单一最高值 - 这将是一个简单的解决方案。我们只是将每个值与“最高值”变量进行比较,并相应地替换它。但是,我们现在有3个。
让我们设置函数和三个占位符:
所以在这里,我建立了基本框架。我已经定义了三个指针来存储三个最高值,设置循环以迭代输入,然后返回最高值的排序数组。
但现在我需要迭代中的一些过程,这些过程可以有效地用最高值替换这些值,并且以某种方式不会以重复或缺失值结束。
我的解决方案:
我将使用num1,num2和num3维护一个层次结构,并使用我认为的“涓滴”方法,以便在评估每个数组值时,我将首先将其与num1(我的最大值)进行检查
但是在这一点上,我不能简单地替换10,因为10可能是我们的三个最高值之一,这就是“涓滴”为我处理的问题:
现在所需要的只是一些逻辑,这些逻辑将根据num2和num3检查数组值,并重复相同的移位。
完整代码: