架构爱好者
学习交流中心

求一个数组中第二大的元素

一、问题

要求:

  • 不能对这个数组进行整体排序;
  • 若要用循环,只能一重循环;
  • 不使用额外空间。

二、解答

思路:把最大的数字标记为null,然后再求此时的最大数字。

var arr = [1, 3, 5, 2, 7, 6]
arr[arr.indexOf(Math.max.apply(null, arr))] = null
Math.max.apply(null, arr)

 

未经允许不得转载:技术杂烩 » 求一个数组中第二大的元素