【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;
    }
};
相关推荐
j445566117 分钟前
C++中的职责链模式实战
开发语言·c++·算法
m0_6860416112 分钟前
实时数据流处理
开发语言·c++·算法
波波侠819 分钟前
代码随想录算法训练营打卡第31天|56. 合并区间、738.单调递增的数字
算法
Snow_day.19 分钟前
有关线段树应用(1)
数据结构·算法·贪心算法·动态规划·图论
m0_5613596728 分钟前
C++模块接口设计
开发语言·c++·算法
难得的我们1 小时前
单元测试在C++项目中的实践
开发语言·c++·算法
Once_day1 小时前
代码训练总结(1)算法和数据结构的框架思维
数据结构·算法
鹿角片ljp1 小时前
力扣125.验证回文串-双指针
数据结构·算法
We་ct1 小时前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
-Try hard-1 小时前
数据结构|概念及单向有头链表
数据结构·算法·vim