滑动窗口模板:
int longestOnes(vector<int>& nums) {int size = nums.size(); // 数组长度int maxSubLen = 0; // 满足条件的最大窗口长度int left = 0; // 滑动窗口左边界int right = 0; // 滑动窗口右边界int sum = 0; // 用于统计当前窗口是否有效,可能是求和 or 计数// 当右边界没有走到数组尾部while(right < size){sum += nums[right]; // 根据右边界对 cnt 进行更新// 如果当前窗口不符合要求,则不断右移左边界,直到窗口符合要求while(当前窗口不符合要求){sum -= nums[ledft]; // cnt 中需移除左边界++left; // 左边界右移}// 更新满足条件的最大窗口长度maxSubLen = max(right - left + 1, maxSubLen);// 窗口右边界右移++right;}return maxSubLen;
