c_cpp 找到一个整数数组中包含最大乘积的对

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 找到一个整数数组中包含最大乘积的对相关的知识,希望对你有一定的参考价值。

// https://www.geeksforgeeks.org/return-a-pair-with-maximum-product-in-array-of-integers/
#include <iostream>
using namespace std;

int main(){
    int n;
    cin>>n;
    int a[n];
    for (int i=0;i<n;i++)
        cin>>a[i];

    int min1=INT_MAX, min2=INT_MAX, max1=INT_MIN, max2=INT_MIN;

    for (int i=0;i<n;i++){
        if (a[i] > max1){
            max2=max1;
            max1=a[i];
        }
        else if (a[i] > max2 && a[i] < max1){
            max2=a[i];
        }
        if (a[i] < min1){
            min2=min1;
            min1=a[i];
        }
        else if (a[i] > min1 && a[i] < min2){
            min2=a[i];
        }
    }
    if (min1*min2 < max1*max2)
        cout << "Max product is: " << max1*max2 << ", {"<<max2 << ", " << max1 << "}";
    else
        cout << "Max product is: " << min1*min2 << ", {"<<min1 << ", " << min2 << "}";
}

以上是关于c_cpp 找到一个整数数组中包含最大乘积的对的主要内容,如果未能解决你的问题,请参考以下文章

如何找到 JavaScript 数组中包含的最大数?

数组628. 三个数的最大乘积

数组中3个整数的最大乘积

右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。

找到具有最大乘积的相邻元素对(错误消息)

2021-10-18:乘积最大子数组。给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。力扣152。