c_cpp 最大乘积子阵列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 最大乘积子阵列相关的知识,希望对你有一定的参考价值。
#include <bits/stdc++.h>
using namespace std;
int maxProduct(int* arr, int n)
{
int minVal = arr[0];
int maxVal = arr[0];
int maxProduct = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < 0)
swap(maxVal, minVal);
maxVal = max(arr[i], maxVal * arr[i]);
minVal = min(arr[i], minVal * arr[i]);
maxProduct = max(maxProduct, maxVal);
}
return maxProduct;
}
int main() {
int arr[] = { -1, -3, -10, 0, 60 };
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Maximum Subarray product is "
<< maxProduct(arr, n) << endl;
return 0;
return 0;
}
以上是关于c_cpp 最大乘积子阵列的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 最大子阵列和子序列
c_cpp 53.最大子阵列
c_cpp 53.最大子阵列
c_cpp 最大子阵列总和。在具有最大总和的数组(包含至少一个数字)中查找连续的子数组。
c_cpp 增长最快的子阵列
c_cpp 最便宜的子阵列