首页 > 其他 > 详细

1493. Longest Subarray of 1's After Deleting One Element

时间:2020-06-29 10:55:29      阅读:60      评论:0      收藏:0      [点我收藏+]

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.

Example 4:

Input: nums = [1,1,0,0,1,1,1,0,1]
Output: 4

Example 5:

Input: nums = [0,0,0]
Output: 0

 

Constraints:

  • 1 <= nums.length <= 10^5
  • nums[i] is either 0 or 1.
    public int longestSubarray(int[] nums) {
        int ans = 0;
        for (int i = 0, j = 0, sum = 0; j < nums.length; ++j) {
            sum += nums[j];
            while (i < j && sum < j - i)  {
                sum -= nums[i++];
            }
            ans = Math.max(ans, j - i);
        }
        return ans;
    }

摸到泥鳅了,哎呀好滑呀

确认过眼神,是不会的sliding window。

sum:window内1的数量

while循环(纠正window size),

技术分享图片

 

 we want to find a window that only contains a single zero and the rest of the elements are all ones.

https://leetcode.com/problems/longest-subarray-of-1s-after-deleting-one-element/discuss/708201/javaPython-3-Sliding-Window-with-at-most-one-zero-w-detailed-explanation-and-brief-analysis.

1493. Longest Subarray of 1's After Deleting One Element

原文:https://www.cnblogs.com/wentiliangkaihua/p/13206429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!