📌 LeetCode [485]: Max Consecutive Ones
🔗 문제 링크
문제 설명 📄
0과 1로 구성된 정수 배열 nums
가 주어집니다.
배열에서 연속된 1
의 최대 길이를 반환하세요.
문제 접근 방식 📋
- 변수 설정:
temp
: 현재 연속된1
의 길이를 저장.answer
: 현재까지 발견된 최대 연속된1
의 길이를 저장.
- 반복문으로 배열 순회:
- 현재 숫자가
1
이면temp
를 증가. - 숫자가
0
이면answer
를 업데이트하고temp
를 초기화.
- 현재 숫자가
- 최종 갱신:
- 반복문이 종료된 후, 마지막
temp
값과answer
를 비교하여 최종 결과를 반환.
- 반복문이 종료된 후, 마지막
Solution 💻
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
answer = 0
temp = 0
for n in nums:
if n == 1:
temp += 1
else:
answer = max(answer, temp)
temp = 0
answer = max(answer, temp)
return answer
시간 복잡도 분석 ⏲️
- 시간 복잡도: (O(n))
- 배열을 한 번 순회하며 최대 연속된
1
을 찾습니다.
- 배열을 한 번 순회하며 최대 연속된
공간 복잡도 분석 🗄️
- 공간 복잡도: (O(1))
- 추가 메모리는
answer
와temp
변수에 사용되며, 상수 공간만 차지합니다.
- 추가 메모리는
'알고리즘' 카테고리의 다른 글
LeetCode [876]: Middle of the Linked List (0) | 2024.12.15 |
---|---|
LeetCode [771]: Jewels and Stones (0) | 2024.12.14 |
LeetCode [867]: Transpose Matrix (0) | 2024.12.12 |
LeetCode [1480]: Running Sum of 1d Array (1) | 2024.12.11 |
LeetCode [1598]: Crawler Log Folder (0) | 2024.12.10 |