美文网首页
js找出实数数组中三个数,使乘积最大

js找出实数数组中三个数,使乘积最大

作者: jinhyang | 来源:发表于2018-03-07 13:52 被阅读0次

这是我遇到的一道面试题,当时拿到这个题目,就在想着分情况,自己把自己给分蒙了,,,现在来整理下。

1、先排除不正常的数组(数组中不足三个数)和数组中只有三个元素;

2、三个数乘机最大,无非只有两种情况要么是最大的三个数,要么就是两个最小的负数和一个最大的正数,把这两种情况的乘积对比下就知道答案了。

贴上代码:

方法1:是我自己写的,即先进行排序,然后直接取最大三个数和最小的两个数:

时间复杂度为O(n2)

方法2:这个是在网上看到的,即循环数组,拿最大的三个数和最小的两个数:

时间复杂度是O(n)

相关文章

网友评论

      本文标题:js找出实数数组中三个数,使乘积最大

      本文链接:https://www.haomeiwen.com/subject/mbrjfftx.html