【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;
    }
};
相关推荐
sali-tec几秒前
C# 基于OpenCv的视觉工作流-章39-FL特征匹配
图像处理·人工智能·opencv·算法·计算机视觉
Liu628884 分钟前
C++中的状态模式
开发语言·c++·算法
smchaopiao5 分钟前
使用C语言打印几何图形:从三角形到菱形
c语言·开发语言·算法
又菜又爱编程的小白6 分钟前
L1-071 前世档案
c++·算法·天梯赛
赵长辉10 分钟前
牛客面试Top101: BM8 表达式求值【java,go】
算法·面试
Tisfy17 分钟前
LeetCode 3212.统计 X 和 Y 频数相等的子矩阵数量:前缀和
算法·leetcode·前缀和·矩阵
jaysee-sjc18 分钟前
十六、Java 网络编程全解析:UDP/TCP 通信 + BS/CS 架构
java·开发语言·网络·tcp/ip·算法·架构·udp
顶点多余23 分钟前
Linux中基础IO知识全解
linux·服务器·算法
编程之升级打怪25 分钟前
简单的测试搜索词的分割算法思路
java·算法
.select.28 分钟前
虚函数和虚表
开发语言·c++·算法