[10]最大乘積-拼多多2018

1.題目描述

給定一個(gè)無序數(shù)組,包含正數(shù)、負(fù)數(shù)和 0,要求從中找出 3 個(gè)數(shù)的乘積,使得乘積最大,要求時(shí)間復(fù)雜度: O(n),空間復(fù)雜度:O(1)

  • 輸入描述:
    第一行是數(shù)組大小 n,第二行是無序整數(shù)數(shù)組 A[n]。n >=3
  • 輸出描述:
    滿足條件的最大乘積
  • 輸入示例:
    4 
    3 4 1 2
    
  • 輸出示例:
    24
    

2.題目解析

數(shù)列有以下三種情況:

  1. 全是正數(shù)
  2. 全是負(fù)數(shù)
  3. 有正有負(fù)

乘積最大只有兩種情況:

  1. 三個(gè)最大正數(shù)
  2. 一個(gè)最大整數(shù)和兩個(gè)最小負(fù)數(shù)

問題最終歸結(jié)為找出這五個(gè)數(shù)比較乘積即可。

3.參考答案

#include <bits/stdc++.h>
using namespace std;

int main() {
   int n = 0;
   scanf("%d",&n);
   long long nums[n];
   fill_n(nums,n,0);
   for(int i=0;i<n;++i){
       scanf("%lld",&nums[i]);
   }
   sort(nums,nums+n);
   long m = max(nums[n-1]*nums[n-2]*nums[n-3],nums[n-1]*nums[0]*nums[1]);
   printf("%lld",m);
   return 0;
}

注意:兩個(gè)long數(shù)字相乘,結(jié)果可能大于long最大值,所以,乘積放入long long,防止溢出。

牛客題目

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,355評(píng)論 6 13
  • 1. 找出數(shù)組中重復(fù)的數(shù)字 題目:在一個(gè)長度為n的數(shù)組里的所有數(shù)字都在0到n-1的范圍內(nèi)。數(shù)組中某些數(shù)字是重復(fù)的,...
    BookThief閱讀 2,000評(píng)論 0 2
  • 姓名:張弛 公司:沈陽防銹包裝材料有限責(zé)任公司 【六項(xiàng)精進(jìn)打卡第126天】 【知~學(xué)習(xí)】 閱讀《六項(xiàng)精進(jìn)》大綱0遍...
    Leo_zhang閱讀 122評(píng)論 0 0
  • 這幾天思考一個(gè)問題,為什么我國北方地區(qū)霧霾長時(shí)間不散,政府限產(chǎn)限號(hào)此起彼伏,甚至小吃攤都關(guān)了,但霧霾仍像瘟神一般,...
    czscada閱讀 299評(píng)論 0 0
  • 2015年春天到2018年夏天,曦羽在山水度過了美好的三年半,回想這段時(shí)光,真的不得不感恩的說,這是我和她人生中最...
    我是YY翼閱讀 392評(píng)論 0 0

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