全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

如何查找数组中最大的三个数字(JavaScript)

发布时间:2022-09-23 11:53:57
发布人:syq

  我们将给出一个数组作为我们唯一的参数,我们需要返回一个数组,其中包含按升序排列的最大三个值。

如何查找数组中最大的

  问题...

  我们将给出一个数组作为我们唯一的参数,我们需要返回一个数组,其中包含按升序排列的最大三个值。有趣的是,我们无法对输入数组进行排序。

  仔细想想

  有很多方法可以实现这一结果,但我想坚持使用最基本的方法。

  我需要设置一种方法来存储这三个最高值,并在我迭代输入时准确跟踪它们。

  如果这是我们追求的单一最高值 - 这将是一个简单的解决方案。我们只是将每个值与“最高值”变量进行比较,并相应地替换它。但是,我们现在有3个。

  让我们设置函数和三个占位符:

8

  所以在这里,我建立了基本框架。我已经定义了三个指针来存储三个最高值,设置循环以迭代输入,然后返回最高值的排序数组。

  但现在我需要迭代中的一些过程,这些过程可以有效地用最高值替换这些值,并且以某种方式不会以重复或缺失值结束。

  我的解决方案:

  我将使用num1,num2和num3维护一个层次结构,并使用我认为的“涓滴”方法,以便在评估每个数组值时,我将首先将其与num1(我的最大值)进行检查

9

  但是在这一点上,我不能简单地替换10,因为10可能是我们的三个最高值之一,这就是“涓滴”为我处理的问题:

10

  现在所需要的只是一些逻辑,这些逻辑将根据num2和num3检查数组值,并重复相同的移位。

  完整代码:

11

相关文章

机器学习中Inference和predict的区别是什么?

机器学习中Inference和predict的区别是什么?

2023-10-15
kd-tree和ball-tree在算法实现原理上有什么区别?

kd-tree和ball-tree在算法实现原理上有什么区别?

2023-10-15
nn.Linear()和nn.Embedding()有什么区别?

nn.Linear()和nn.Embedding()有什么区别?

2023-10-14
敏捷开发和迭代式开发的根本区别是什么?

敏捷开发和迭代式开发的根本区别是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取