[LeetCode] Longest Subarray of 1's After Deleting One Element
題目:Longest Subarray of 1’s After Deleting One Element
難度:Medium
Given a binary array nums, you should delete one element from it.
Return the size of the longest non-empty subarray containing only 1‘s in the resulting array. Return 0 if there is no such subarray.
Example 1:
Input: nums = [1,1,0,1]
Output: 3
Explanation: After deleting the number in position 2, [1,1,1] contains 3 numbers with value of 1’s.
Example 2:
Input: nums = [0,1,1,1,0,1,1,0,1]
Output: 5
Explanation: After deleting the number in position 4, [0,1,1,1,1,1,0,1] longest subarray with value of 1’s is [1,1,1,1,1].
Example 3:
Input: nums = [1,1,1]
Output: 2
Explanation: You must delete one element.
Constraints:
1 <= nums.length <= 10^5nums[i]is either0or1.
這題跟這題很像,只要把 k 設為 1 即可
注意,因為無論如何都要移除一個元素,故答案為 j-i-1
時間複雜度:因會遍歷整個矩陣,故時間複雜度為 O(N),N 為矩陣長度
空間複雜度:因使用的變數為常數,故空間複雜度為 O(1)
1  | public class Solution {  |