[Success]
이진수로 구성된 배열이 주어졌을 때, 연속되는 1의 값의 최대 수를 구하는 문제
풀이
배열길이 만큼 돌면서 특정 인덱스 값이 1 이면, count 값을 증가시키고 count 가 최대 값으로 설정될 때마다 maxCount 에 할당해준 후 최종적으로 maxCount 를 return 시킨다.
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
if (nums == null) return -1;
int count = 0;
int maxCount = 0;
for (int i=0; i<nums.length; i++) {
if (nums[i] == 1) {
++count;
if (maxCount < count) maxCount = count;
} else {
count=0;
}
}
return maxCount;
}
}
leetcode solution
인덱스의 값이 1인 경우엔 count 값만 증가시키고, 아닌 경우엔 Math.max 함수를 써서 count 의 최대 값을 maxCount 와 비교하며 큰 값이 maxCount 에 할당될 수 있도록 하였다. 최종적으로는 한번 더 Math.max 함수를 통해 count 와 maxCount 값을 비교한 후 return 시킨다.
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) {
// Increment the count of 1's by one.
count += 1;
} else {
// Find the maximum till now.
maxCount = Math.max(maxCount, count);
// Reset count of 1.
count = 0;
}
}
return Math.max(maxCount, count);
}
}
'알고리즘' 카테고리의 다른 글
[leetcode] 977. Squares of a Sorted Array (0) | 2021.11.06 |
---|---|
[leetcode] Find Numbers with Even Number of Digits (0) | 2021.11.06 |
[leetcode] Squares of a Sorted Array (0) | 2021.09.03 |
[leetcode] Find All Numbers Disappeared in an Array (0) | 2021.09.03 |
[leetcode] Third Maximum Number (0) | 2021.09.03 |