题目:
解析:
代码:
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
相关推荐
Wilber的技术分享10 分钟前
【LeetCode高频手撕题 2】面试中常见的手撕算法题(小红书)邪神与厨二病13 分钟前
Problem L. ZZUPC梯度下降中1 小时前
LoRA原理精讲IronMurphy2 小时前
【算法三十一】46. 全排列czlczl200209252 小时前
力扣1911. 最大交替子序列和靴子学长2 小时前
Decoder only 架构下 - KV cache 的理解寒秋花开曾相惜2 小时前
(学习笔记)3.8 指针运算(3.8.3 嵌套的数组& 3.8.4 定长数组)Гений.大天才2 小时前
2026年计算机领域的年度主题与范式转移njidf3 小时前
C++与Qt图形开发ZoeJoy83 小时前
算法筑基(一):排序算法——从冒泡到快排,一文掌握最经典的排序算法
