动态规划子数组系列一>乘积为正数的最长子数组长度

题目:


解析:


代码:

java 复制代码
public int getMaxLen(int[] nums) {
        int n = nums.length;
        int[] f = new int[n+1];
        int[] g = new int[n+1];

        int ret = -0x3f3f3f3f;
        for(int i = 1; i <= n; i++){
            if(nums[i-1] < 0){
                f[i] = g[i-1] == 0 ? 0 : g[i-1] + 1;
                g[i] = f[i-1] + 1;
            }
            else if(nums[i-1] > 0) {
                g[i] = g[i-1] == 0 ? 0 : g[i-1] + 1;
                f[i] = f[i-1] + 1;
            }
            
            ret = Math.max(ret,f[i]);
        }

        return ret;
    }
相关推荐
小玮看世界13 分钟前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
黎阳之光17 分钟前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
随意起个昵称28 分钟前
【BFS】冰面滑行
算法·宽度优先
(Charon)2 小时前
【C++】定时器进阶:使用最小堆管理定时任务
c++·算法
hansang_IR2 小时前
【题解】 [省选联考 2021 A/B 卷] 卡牌游戏
c++·算法
这个DBA有点耶2 小时前
COUNT慢不是因为用了*,是这5个原因——1000万行数据实测+执行计划深度解析
数据库·mysql·算法
贾伟康2 小时前
【口算王|01】HarmonyOS ArkTS 口算题生成实战:按年级、运算类型和难度生成可控题目
算法·harmonyos·arkts·随机生成·口算题
lzx_0022 小时前
C++11(一)
开发语言·c++·算法
529宝宝起名网2 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
带多刺的玫瑰4 小时前
Leecode#26刷题之删除有序数组中的重复项
数据结构·算法·leetcode