-
[leetcode] 485. Max Consecutive Ones알고리즘 2021. 11. 6. 10:31
Explore - LeetCode
LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore.
leetcode.com
[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