题目:
解析:
代码:
javapublic 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; }
动态规划子数组系列一>乘积为正数的最长子数组长度
robin_suli2024-11-20 12:02
相关推荐
dessler2 分钟前
代理服务器-LVS的3种模式与调度算法拼好饭和她皆失6 分钟前
动态规划 熟悉30题 ---上fen_fen37 分钟前
学习笔记(26):线性代数-张量的降维求和,简单示例王禄DUT39 分钟前
炉石传说 第八次CCF-CSP计算机软件能力认证白熊1881 小时前
【推荐算法】DeepFM:特征交叉建模的革命性架构L_cl1 小时前
【Python 算法零基础 4.排序 ⑪ 十大排序算法总结】小刘不想改BUG1 小时前
LeetCode 70 爬楼梯(Java)老歌老听老掉牙1 小时前
使用 SymPy 进行向量和矩阵的高级操作lifallen2 小时前
Flink checkpoint比特森林探险记2 小时前
Go 中的 Map 与字符处理指南