题目:
解析:
代码:
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
相关推荐
踏浪无痕3 分钟前
计算机算钱为什么会算错?怎么解决?夏乌_Wx13 分钟前
练题100天——DAY28:找消失的数字+分发饼干studytosky43 分钟前
深度学习理论与实战:反向传播、参数初始化与优化算法全解析WolfGang00732143 分钟前
代码随想录算法训练营Day48 | 108.冗余连接、109.冗余连接II努力学算法的蒟蒻1 小时前
day35(12.16)——leetcode面试经典150cccc来财1 小时前
角点检测算法:Harris 和 FAST 方法风中月隐2 小时前
C语言中以坐标的方式图解“字母金字塔”的绘制q_30238195562 小时前
告别“笨重”检测!VA-YOLO算法让疲劳驾驶识别更轻更快更准松涛和鸣2 小时前
DAY32 Linux Thread ProgrammingLYFlied2 小时前
【每日算法】LeetCode 234. 回文链表详解
