当前位置: 首页 > 编程笔记 >

最大产品子阵列| 在C ++中添加了否定产品案例

爱茂勋
2023-03-14
本文向大家介绍最大产品子阵列| 在C ++中添加了否定产品案例,包括了最大产品子阵列| 在C ++中添加了否定产品案例的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将讨论一个程序来查找具有负乘积情况的最大乘积子数组。

为此,我们将提供一个包含正值和负值的数组。我们的任务是在O(n)时间复杂度内找到子阵列的最大乘积。

示例

#include <bits/stdc++.h>
using namespace std;
//查找最大乘积子数组
int findMaxProduct(int arr[], int n) {
   int i;
   int ans = INT_MIN;
   int maxval = 1;
   int minval = 1;
   int prevMax;
   for (i = 0; i < n; i++) {
      if (arr[i] > 0) {
         maxval = maxval * arr[i];
         minval = min(1, minval * arr[i]);
      }
      else if (arr[i] == 0) {
         minval = 1;
         maxval = 0;
      }
      else if (arr[i] < 0) {
         prevMax = maxval;
         maxval = minval * arr[i];
         minval = prevMax * arr[i];
      }
      ans = max(ans, maxval);
      if (maxval <= 0) {
         maxval = 1;
      }
   }
   return ans;
}
int main() {
   int arr[] = { 0, -4, 0, -2 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << findMaxProduct(arr, n);
   return 0;
}

输出结果

0
 类似资料:
  • 本文向大家介绍C ++中最大的回文产品,包括了C ++中最大的回文产品的使用技巧和注意事项,需要的朋友参考一下 假设我们输入了n,我们必须找到可以使用两个n位数相乘得到的最大回文。由于数字非常大,我们可以使用1337执行mod。因此,如果输入为2,则答案将为987,987 =(99 * 91)mod 1337 = 9009 mod 1337 = 987。 为了解决这个问题,我们将遵循以下步骤- m

  • 本文向大家介绍C ++中未知给定产品的最大GCD,包括了C ++中未知给定产品的最大GCD的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个整数N和P。P是N个未知整数的乘积。我们必须找到这些整数的GCD。可能有不同的整数组,它们将给出相同的结果。在这里,我们将生成GCD,它在所有可能的组中最大。假设N = 3,且P = 24,则不同的组将像{1,1,24},{1,2,12},{1,3,8}

  • 我有一个名为“产品类型”的WooCommerce产品类别,我试图列出该类别下的所有类别,但不是这些类别的子类别。例如,我有: 产品类型 碳化物米尔斯 钓鱼工具 儿童类别 我希望它列出“电石磨坊”和“打捞工具”,但不是“儿童类别”。 这是我的代码: 但它仍然返回“儿童类别”。我不知道为什么将深度限制为“1”并将“include_children”设置为“false”不能解决这个问题。

  • 我正在使用此代码添加自定义属性 这个代码的结果我得到了添加只是产品属性名称没有术语值... 我找了很多,但没有得到任何答案。

  • 3.4 产品列表 3.4.1 描述 通过调用该接口为指定订单号的订单明细 3.4.2 请求地址 地址:https://api.bokecs.com/recharge/productList?pageSize=10&pageNum=3 3.4.3 请求方式 GET 3.4.4 请求参数 1) 请求入参 元素名称 是否必须 元素描述 pageNum 否 默认为1 pageSize 否 默认10 2)

  • 我想创建一个产品从前端直接到一个分组的产品在WooCommerce。现在它正在“简单产品”中创建一个产品。 截图: 当前代码: