给定一个长度为 n 的整数数组,请你找出其中最长的乘积为正数的子数组长度。
子数组的定义是原数组中一定长度的连续数字组成的数组。
数据范围:
, 数组中的元素满足
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ func findLongestSubArray( nums []int ) int { ans:=0 var pre1,pre2,tmp int for _,x:=range nums{ if x>0{ pre1++ if pre2!=0{ pre2++ } }else if x==0{ pre1=0 pre2=0 }else{ tmp=pre1 if pre2==0{ pre1=0 }else{ pre1=pre2+1 } if tmp==0{ pre2=1 }else{ pre2=tmp+1 } } if pre1>ans{ ans=pre1 } } return ans }