【问题标题】:How to make min() choose two numbers如何让 min() 选择两个数字
【发布时间】:2013-05-25 05:20:34
【问题描述】:

我希望 min() 选择列表中最小的两个数字,这可能吗?我应该怎么做?

【问题讨论】:

标签: javascript list variables numbers min


【解决方案1】:

搜索有关“数学”的文档(它是一个包含许多有用的数学相关函数和变量的 javascript 对象)。

Hint.

【讨论】:

【解决方案2】:

实际上,Math.min 只为您提供列表中最小的一个,因此您只需将它们全部排序并获取您需要的数量:

list = [7,4,5,4,2,23,4,6,4,6];
smalls = list.sort(function(a,b){return a-b}).slice(0,2);
alert(smalls); // shows "2, 4"

【讨论】:

  • 这行得通。谢谢,我差一点就自己发现了,但你的搜索速度更快了。
【解决方案3】:

排序有点低效,因为它占用了 O(n log n) 时间。你可以一次通过就可以做同样的事情。只需保留初始化为空(或负无穷大)或其他东西的变量。

对于遇到的每个元素,检查两个变量并进行相应更新。

这很简单,但只占用线性时间 O(n)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2013-01-28
    • 2015-11-17
    • 1970-01-01
    • 2013-03-18
    相关资源
    最近更新 更多