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

【剑斩OFFER】算法的暴力美学——最大连续1的个数 III

一、题目描述

二、算法原理

1.先定义三个变量right 、left、zero,其中 right 和 left 都指向第一个数,而 zero 记录 right 在右移时 0 的个数。

2.当 zero > 0 时,此时的 left 到 right 之间的长度是不合法的。

3、那么一般发暴力写法是 left 右移意味,然后 right 也回去指向和 left 指向同一个数,最后分别枚举。

4、请看上图,即使 left 右移一位,都是 right 最终也会指向和第一个数 right 最终的指向一样,而且它的长度绝对小于第一个数到 right 之间的长度,所以最好的解决办法是 right 在右移时,只要 zero > k,就让 left 也往右移(在右移的过程中遇到 0 ,就 zero--),直到 left 到 right 之间的 zero <= k。

5.每次 right 向右移时都要记录最长的长度。

三、代码实现

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

http://www.dtcms.com/a/449992.html

相关文章:

  • UNIX下C语言编程与实践32-UNIX 僵死进程:成因、危害与检测方法
  • 论坛开源网站源码首页优化排名
  • 网站建设策请seo的人帮做网站排名
  • 旅游网站后台html模板做网站的做app的
  • 网站备案回访问题效果好的网站制作
  • Unity 光源
  • 应急响应
  • 【2061】梯形面积
  • 电商网站seo优化目标分解wordpress域名授权
  • tex 写的论文如何统计字数
  • 【区块链学习笔记】16:以太坊中的交易树和收据树
  • 盟接之桥谈制造:格局、行动、心态与认知的创业修行
  • 深入理解 Spring Bean 后处理器:@Autowired 等注解的本质
  • 购物网站排名2017专业商业空间设计公司
  • UDP 的报文结构和注意事项
  • C56-字符串拷贝函数strcpy与strnpy
  • SAM、SECURITY、SYSTEM 和 NTDS.dit 的详细区别
  • 网站建网站建设企业北京网络教育
  • 通过super()正确初始化超类:Effective Python 第40条
  • 关于共享内存的梳理和总结
  • asp网站设计代做关键词推广效果分析
  • HTTP基础教程详解
  • 电子商务网站主要面向上海设计网站开发
  • 网站开发一般用哪个浏览器广州生物科技网站建设公司
  • 禹州市门户网站建设做网站开发一般用什么语言
  • 做非经营网站需要营业执照电商网站开发实战视频教程
  • 咸阳企业网站建设好看的免费网站模板下载 迅雷下载地址
  • LOD and Reflections Adding Details
  • 创建一个网站多少钱中山专业外贸网站建设
  • InnoDB强制恢复实战:紧急抢救数据指南