1493. 删掉一个元素以后全为 1 的最长子数组

Medium

思路

从数据量大小判断,肯定是要用时间复杂度\(O(n)\)算法求解

以上,尝试一下代码,AC!

代码

python3

class Solution:
    def longestSubarray(self, nums: List[int]) -> int:
      if nums.count(1) == len(nums):
        return len(nums) - 1
      pc = 0
      cnt = 0      
      r = 0
      for i in nums:
        if i == 1:
          cnt += 1
        else:
          r = max(r, pc+cnt)
          pc = cnt
          cnt = 0
        prev = i
      r = max(r, pc+cnt)
      return r