题目:
解析:
代码:
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
相关推荐
XH华3 小时前
初识C语言之二维数组(下)南宫生4 小时前
力扣-图论-17【算法学习day.67】不想当程序猿_4 小时前
【蓝桥杯每日一题】求和——前缀和落魄君子4 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)菜鸡中的奋斗鸡→挣扎鸡4 小时前
滑动窗口 + 算法复习Lenyiin4 小时前
第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ郭wes代码4 小时前
Cmd命令大全(万字详细版)scan7245 小时前
LILAC采样算法菌菌的快乐生活5 小时前
理解支持向量机大山同学5 小时前
第三章线性判别函数(二)