#include #include #include using namespace std;

int main() { int n; cin >> n; vector nums(n); for(int i = 0; i < n; i++) cin >> nums[i]; sort(nums.begin(), nums.end()); int max_product = max(nums[n-1]*nums[n-2]*nums[n-3], nums[0]*nums[1]*nums[n-1]); cout << max_product << endl; return 0; }

给定一个无序数组包含正数、负数和0要求从中找到3个数的乘积使得乘积最大并且时间复杂度为On空间复杂度为O1。 输入描述:无序整数数组an 输出描述:满足条件的最大乘积。 输出样例: 4 3 4 1 2 输出: 24 贪心法c++

原文地址: https://www.cveoy.top/t/topic/foQg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录