js找出實(shí)數(shù)數(shù)組中三個(gè)數(shù),使乘積最大

這是我遇到的一道面試題,當(dāng)時(shí)拿到這個(gè)題目,就在想著分情況,自己把自己給分蒙了,,,現(xiàn)在來(lái)整理下。

1、先排除不正常的數(shù)組(數(shù)組中不足三個(gè)數(shù))和數(shù)組中只有三個(gè)元素;

2、三個(gè)數(shù)乘機(jī)最大,無(wú)非只有兩種情況要么是最大的三個(gè)數(shù),要么就是兩個(gè)最小的負(fù)數(shù)和一個(gè)最大的正數(shù),把這兩種情況的乘積對(duì)比下就知道答案了。

貼上代碼:

方法1:是我自己寫的,即先進(jìn)行排序,然后直接取最大三個(gè)數(shù)和最小的兩個(gè)數(shù):

時(shí)間復(fù)雜度為O(n2)

方法2:這個(gè)是在網(wǎng)上看到的,即循環(huán)數(shù)組,拿最大的三個(gè)數(shù)和最小的兩個(gè)數(shù):

時(shí)間復(fù)雜度是O(n)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容