【1567.乘积为正数的最长子数组长度】

目录

一、题目描述

二、算法原理

三、代码实现

cpp 复制代码
class Solution {
public:
    int getMaxLen(vector<int>& nums) 
    {
        int n=nums.size();
        vector<int> f(n);
        vector<int> g(n);
        f[0]=nums[0]>0?1:0;
        g[0]=nums[0]<0?1:0;
        int ret=f[0];
        for(int i=1;i<n;i++)
        {
            if(nums[i]>0)  
            {
                f[i]=1+f[i-1];
                g[i]=g[i-1]==0?0:1+g[i-1];
            }
            else if(nums[i]<0)
            {
                f[i]=g[i-1]>0?1+g[i-1]:0;
                g[i]=1+f[i-1];
            }
            ret=max(f[i],ret);
        }
        return ret;
    }
};
相关推荐
信奥卷王2 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
兮山与2 小时前
算法4.0
算法
nju_spy2 小时前
力扣每日一题(二)任务安排问题 + 区间变换问题 + 排列组合数学推式子
算法·leetcode·二分查找·贪心·排列组合·容斥原理·最大堆
初听于你2 小时前
高频面试题解析:算法到数据库全攻略
数据库·算法
翟天保Steven2 小时前
ITK-基于Mattes互信息的二维多模态配准算法
算法
代码对我眨眼睛2 小时前
226. 翻转二叉树 LeetCode 热题 HOT 100
算法·leetcode·职场和发展
黑色的山岗在沉睡3 小时前
LeetCode 494. 目标和
算法·leetcode·职场和发展
haoly19896 小时前
数据结构和算法篇-线性查找优化-移至开头策略
数据结构·算法·移至开头策略
学Linux的语莫9 小时前
机器学习数据处理
java·算法·机器学习
earthzhang202110 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程