【问题标题】:Smallest and largest number in any array任何数组中的最小和最大数
【发布时间】:2020-02-14 04:29:52
【问题描述】:

我们可以很容易地找到有序整数数组中的最大和最小数字。但是,我们如何在未排序的整数数组中找到它们呢?请提供任何解释或代码。 谢谢。

【问题讨论】:

  • 您需要探索整个数组。以您正在使用的语言尝试使用loopsconditions
  • 不为此目的使用函数,唯一的方法是比较每个单独的数组元素以确定最大和最小。
  • 对于这个网站来说并不是一个真正的问题,因为我们专注于代码。也就是说,找到最大值的常用方法是将变量设置为可能的最小值,然后遍历数组并在每次元素的值高于其当前值时更新变量。最小搜索类似,留作练习。

标签: arrays


【解决方案1】:

如果它是一个简单的数组,那就很容易了。您可以步进所有元素并使用时间复杂度逐个比较它们:O(n)

例如

var array = [ 76 ,5,6,2,199, 20 ];
var smallest = array[0]
var greastest = array[0];
array.forEach( function (value) {
    if(value < smallest)
        smallest = value;

    if(value > greastest){
        greastest = value;
    }
}) 

console.log(smallest,greastest);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多