网站域名查询工具,网站维护主要内容,360建筑网简历怎么删除,罗村网站建设公司给定一个二进制数组 nums 和一个整数 k#xff0c;如果可以翻转最多 k 个 0 #xff0c;则返回 数组中连续 1 的最大个数 。
示例 1#xff1a; 输入#xff1a;nums [1,1,1,0,0,0,1,1,1,1,0], K 2 输出#xff1a;6 解释#xff1a;[1,1,1,0,0,1,1,1,1,1,1] 粗体数字…给定一个二进制数组 nums 和一个整数 k如果可以翻转最多 k 个 0 则返回 数组中连续 1 的最大个数 。
示例 1 输入nums [1,1,1,0,0,0,1,1,1,1,0], K 2 输出6 解释[1,1,1,0,0,1,1,1,1,1,1] 粗体数字从 0 翻转到 1最长的子数组长度为 6。
示例 2 输入nums [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K 3 输出10 解释[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1] 粗体数字从 0 翻转到 1最长的子数组长度为 10。 int longestOnes(vectorint nums, int k) {int left 0 , right 0;int len 0, maxi 0;int n nums.size();for (right 0 ; right n ; right){if (nums[right] 0){if (k 0) {k--;len;maxi max(len, maxi);} else{while (nums[left] 1) {left;len--;}left;}} else {len;maxi max(maxi, len);}}return maxi;}