题解 | #两个负数+三个正数->最大乘积#

最大乘积

http://www.nowcoder.com/practice/5f29c72b1ae14d92b9c3fa03a037ac5f

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

int main() {
    array<long long, 2> negArr = {0, 0};
    array<long long, 3> posArr = {0, 0, 0};
    long long len, num; cin >> len;
    while (len--) {
        cin >> num;
        if (num >= 0) {
            if (posArr[0] < num) { posArr[2] = posArr[1]; posArr[1] = posArr[0]; posArr[0] = num; }
            else if (posArr[1] < num) { posArr[2] = posArr[1]; posArr[1] = num; }
            else if (posArr[2] < num) { posArr[2] = num;}
        }
        else {
            if (negArr[0] > num) { negArr[1] = negArr[0]; negArr[0] = num; }
            else if (negArr[1] > num) { negArr[1] = num; }
        }
    }
    
    cout << max(posArr[0]*posArr[1]*posArr[2], negArr[0]*negArr[1]*posArr[0]);
    return 0;
}
全部评论
你真无聊,这种想法真是卧龙
点赞 回复 分享
发布于 2024-04-17 16:37 陕西

相关推荐

本人一直追求WLB,对大小周深恶痛疾,刷到小红书说取消大小周大喜,看来跳槽的选择又多一个了
一枚大铁锤:至于冲不冲小红书,这是个问题,我先声明我不是这方面的专家,我觉得这件事还是要慎重评论,你问我为什么不给出回答,因为我一开始就说了,我不是这方面的专家
点赞 评论 收藏
分享
FieldMatching:看成了猪头顾问,不好意思
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务