程式語言 - LeetCode - C++ - 1493. Longest Subarray of 1's After Deleting One Element



參考資訊:
https://www.cnblogs.com/cnoodle/p/17513018.html

題目:


解答:

class Solution {
public:
    int longestSubarray(vector<int>& nums) {
        int r = 0;
        int cnt = 0;
        int left = 0;

        for (int i = 0; i < nums.size(); i++) {
            if (nums[i] == 0) {
                cnt += 1;
            }

            while (cnt > 1) {
                if (nums[left] == 0) {
                    cnt -= 1;
                }
                left += 1;
            }

            r = max(i - left + 1, r);
        }

        return r - 1;
    }
};