參考資訊:
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;
}
};