[LeetCode_1493]Longest Subarray of 1's After Deleting One Element(Python)

그냥·2024년 9월 14일
0

알고리즘

목록 보기
19/23

https://leetcode.com/problems/longest-subarray-of-1s-after-deleting-one-element/description/?envType=study-plan-v2&envId=leetcode-75

문제


코드

class Solution:
    def longestSubarray(self, nums: List[int]) -> int:
        ans = 0
        tmp = 0
        idx = -1
        for i in range(len(nums)):
            if nums[i] == 1:
                tmp += 1
            else:
                tmp = i - idx - 1
                idx = i
            ans = max(ans, tmp)
        return ans if idx != -1 else ans - 1
            

Idea1

  • nums[i]가 0이 될때 이전 인덱스(nums[i]가 0인 지점)와의 거리 차이를 구해 새롭게 tmp갱신
  • 시작점이 0인경우를 대비해 idx를 -1로 초기화

0개의 댓글