class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count = 0;
int maxCount = 0;
for( int i = 0; i < nums.length; i++ ){
if(nums[i] == 1){
count ++;
}else{
maxCount = Math.max(count, maxCount);
count = 0;
}
}
return Math.max(count,maxCount);
}
}
constraints
1 <= nums.length <= 105
nums[i] is either 0 or 1.
Given a binary array nums, return the maximum number of consecutive 1's in the array.
nums배열에서 가장 긴 연속된 1의 길이를 구하라.
count 와 maxCount를 0으로 설정하고 배열 전체를 for문으로 훑는다.
1이 존재할 때마다 count수를 증가시키고 1이 존재하지 않을경우(0 이 나올경우)
1. 기존의 count값과 maxCount값을 비교해서 현재까지 가장 긴 연속된 1의 길이를 maxCount에 할당한다.
2. 연속된 1이 아니기때문에 count를 0으로 초기화한다.
배열의 끝부분에에 연속된 1들이 나올수 있기때문에 마지막으로
Math.max(count,MaxCount);
로 count와 이전까지의 maxCount를 비교해준다.