当前位置: 首页 > wzjs >正文

国家电网公司交流建设分公司网站苏州园区一站式服务中心

国家电网公司交流建设分公司网站,苏州园区一站式服务中心,制作网站的心得,wordpress icp备案号1004. 最大连续1的个数 III - 力扣(LeetCode) 题目 给定一个二进制数组 nums 和一个整数 k,假设最多可以翻转 k 个 0 ,则返回执行操作后 数组中连续 1 的最大个数 。 示例 1: 输入:nums [1,1,1,0,0,0,1…

1004. 最大连续1的个数 III - 力扣(LeetCode)

题目

给定一个二进制数组 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。

提示:

  • 1 <= nums.length <= 105
  • nums[i] 不是 0 就是 1
  • 0 <= k <= nums.length

思路

  1. 首先定义两个指针,右指针先将可翻转数拉满,找到作为初始的滑动窗口。
  2. 然后没遇到下一个需要翻转的,先统计窗口长度,再将左指针一直后移到窗口内第一个待翻转点后,然后窗口继续后移,直到窗口到达下一个待翻转点或到达数组末尾,最后输出最长窗口长度即可。
  3. 最后补充考虑指针的情况将细节完善即可:
    1. 左右指针在同一个位置;
    2. 右指针在后;
    3. k是否等于0。
    4. 两个指针指向的地方是否都是0.
  4. 将以上几个情况都组合搭配实现窗口移动逻辑。

代码实现

class Solution {
public:int longestOnes(vector<int>& nums, int k) {int left = 0, right = 0, max_length = 0;while(1) {if(right==nums.size()) {max_length = max(max_length, right-left);break;}if(k>0){if(nums[right]==0) k--;right++;}else if(k==0){if(left==right) {if(nums[right]==0) {left++;right++;}else right++;}else if(left<right) {if(nums[right]==0) {if(nums[left]==0) {left++;right++;}else {max_length = max(max_length, right-left);left++;}}else right++;}}}return max_length;}
};

复杂度分析

  • 时间复杂度:双指针移动,右指针遍历一次完整数组,时间复杂度为O(n)。
  • 空间复杂度:O(1)。

官方题解

  • 官方题解还介绍了个二分查找法,感觉不容易想到,而且效率也不如滑动窗口,就不看了。

文章转载自:

http://3i7uauJ6.pjrqL.cn
http://RB0rEHZn.pjrqL.cn
http://3slkmn1F.pjrqL.cn
http://nOW02pBw.pjrqL.cn
http://xMkvGAZo.pjrqL.cn
http://mkBGN62N.pjrqL.cn
http://u9kkXZFn.pjrqL.cn
http://crAXbf71.pjrqL.cn
http://oz76aQKM.pjrqL.cn
http://8W0pNtOP.pjrqL.cn
http://btdTV3pM.pjrqL.cn
http://SqSLPls5.pjrqL.cn
http://SiDgQuBF.pjrqL.cn
http://Iorof4dz.pjrqL.cn
http://6KuoZEUi.pjrqL.cn
http://pWiWdNMY.pjrqL.cn
http://dvcqaXJE.pjrqL.cn
http://dS8mZy2t.pjrqL.cn
http://HwHr1Y9R.pjrqL.cn
http://1yOuZdSp.pjrqL.cn
http://nrLmvozF.pjrqL.cn
http://WVTuXu2n.pjrqL.cn
http://7UqgsXbN.pjrqL.cn
http://NnsdnwU2.pjrqL.cn
http://OK8b19V8.pjrqL.cn
http://jc5CM8lL.pjrqL.cn
http://tDd2XbeN.pjrqL.cn
http://68uXwWMP.pjrqL.cn
http://ueePqrvH.pjrqL.cn
http://OAOQY8fX.pjrqL.cn
http://www.dtcms.com/wzjs/626296.html

相关文章:

  • 肇庆网站开发公司inititle 网站建设
  • 外企网站建设手机免费代理ip网站
  • 网站营销公司东莞动点网络科技有限公司
  • 外国网站设计素材wordpress搬站换空间
  • 濮阳做网站的兰州网站建设推荐q479185700上墙
  • 常州高端网站定制公司站长是什么职位
  • 万网网站流量厦门网站建设哪里好
  • 网站建设外链实时积分榜
  • 北京各大网站推广平台哪家好沛县网站建设xlec
  • 做视频网站服务器怎么选择抵押网站建设方案
  • 一般建设网站的常见问题装修设计用什么软件好用
  • 网站租用空间中国建筑八个局排名
  • 如何做网站外链百度收录权重
  • e4a怎么做网站app网站开发html书籍下载
  • 伍佰亿门户网站建设网站的安全性介绍
  • 友情手机站江西南昌网站建设哪家好
  • 网站配色方法广州番禺区好玩的景点
  • 中小企业网站制作费用是多少?郴州网约车平台有哪些
  • 酒店网站开发需求文档wordpress微博登入获取头像
  • asp网站开发需要什么网站目录怎么做301重定向
  • 学做点心的网站php网站开发流程逻辑
  • 做h5的网站有哪些东莞网页制作公司
  • 珠海建网站的联系方式广元做网站站排名
  • 做logo的网站高防手表网站
  • 企业怎么建设网站长春做网络优化的公司
  • 设计网站公司可去亿企邦高端制造
  • 制作网站项目流程国家建设部网站官网
  • 能查个人信息的网站wordpress4.7企业主题
  • 网站软文营销临沂seo顾问
  • 网站特效模板江苏省住房和建设厅网站