📌 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 (2) | 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 (2) | 2024.12.10 |