题目:
解析:
代码:
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
相关推荐
hsjkdhs1 分钟前
C++之多层继承、多源继承、菱形继承立志成为大牛的小牛23 分钟前
数据结构——十七、线索二叉树找前驱与后继(王道408)星空下的曙光25 分钟前
Node.js crypto模块所有 API 详解 + 常用 API + 使用场景StarPrayers.2 小时前
旅行商问题(TSP)(2)(heuristics.py)(TSP 的两种贪心启发式算法实现)爱吃橘的橘猫2 小时前
嵌入式系统与嵌入式 C 语言(2)235162 小时前
【LeetCode】146. LRU 缓存weixin_307779133 小时前
使用Python高效读取ZIP压缩文件中的UTF-8 JSON数据到Pandas和PySpark DataFrame柳安忆3 小时前
【论文阅读】Sparks of Scienceweb安全工具库4 小时前
从课堂笔记到实践:深入理解Linux C函数库的奥秘爱编程的鱼5 小时前
C# 变量详解:从基础概念到高级应用