classSolution{publicintfindMaxConsecutiveOnes(int[] nums){int left=0,right =0;//双指针int n = nums.length;//数组长度int ans =0;//保存结果for(left =0;left<n;left++){//左指针先遍历if(nums[left]==1){//如果左指针找到1for(right = left;right<n&&nums[right]==1;right++);//右指针从左指针位置找第一个不是1的,或者无元素可遍历
ans =Math.max(right-left,ans);//保存本次左右指针所指区间长度和已经保存的区间长度,大的那个
left = right;//左指针从右指针的位置继续}}return ans;//返回结果}}
classSolution{publicintfindMaxConsecutiveOnes(int[] nums){int ans =0, count =0;//ans保存结果,count保存本次区间的1的个数int n = nums.length;//数组长度for(int i =0;i<n;i++){//依次遍历if(nums[i]==1) count++;//如果发现1,count开始累加else{//如果发现当前元素不是1了,可能区间中断,或者当前本身就不是1的区间
ans =Math.max(ans,count);//无论如何,保存已经保存的区间1个数,和当前1的个数,选择大的
count =0;//count重新开始累加}}//如果数组某区间,遍历完成后,没有发现不是1的,上面for循环的ans统计,会少掉末尾区间的//在这里补上
ans =Math.max(ans,count);//选择大的return ans;//返回结果}}