1375. 二进制字符串前缀一致的次数

给你一个长度为 n 、下标从 1 开始的二进制字符串,所有位最开始都是 0 。我们会按步翻转该二进制字符串的所有位(即,将 0 变为 1)。

给你一个下标从 1 开始的整数数组 flips ,其中 flips[i] 表示对应下标 i 的位将会在第 i 步翻转。

二进制字符串 前缀一致 需满足:在第 i 步之后,在 闭 区间 [1, i] 内的所有位都是 1 ,而其他位都是 0 。

返回二进制字符串在翻转过程中 前缀一致 的次数。

示例 1:

输入:flips = [3,2,4,1,5]
输出:2
解释:二进制字符串最开始是 “00000” 。
执行第 1 步:字符串变为 “00100” ,不属于前缀一致的情况。
执行第 2 步:字符串变为 “01100” ,不属于前缀一致的情况。
执行第 3 步:字符串变为 “01110” ,不属于前缀一致的情况。
执行第 4 步:字符串变为 “11110” ,属于前缀一致的情况。
执行第 5 步:字符串变为 “11111” ,属于前缀一致的情况。
在翻转过程中,前缀一致的次数为 2 ,所以返回 2 。

示例 2:

输入:flips = [4,1,2,3]
输出:1
解释:二进制字符串最开始是 “0000” 。
执行第 1 步:字符串变为 “0001” ,不属于前缀一致的情况。
执行第 2 步:字符串变为 “1001” ,不属于前缀一致的情况。
执行第 3 步:字符串变为 “1101” ,不属于前缀一致的情况。
执行第 4 步:字符串变为 “1111” ,属于前缀一致的情况。
在翻转过程中,前缀一致的次数为 1 ,所以返回 1 。

这题看似很复杂,千万要理解解题原理,不然暴力去求解,会花费很多时间:

int numTimesAllBlue(int* flips, int flipsSize){int max=flips[0];int count=0;if(flips[0]==1){count++;}for(int i=1;i<flipsSize;i++){if(flips[i]>max){max=flips[i];}if(max==i+1){count++;}}return count;}

1375. 二进制字符串前缀一致的次数-前序遍历法相关推荐

  1. LeetCode——1888. 使二进制字符串字符交替的最少反转次数(Minimum Number of Flips to Make the Binary ...)[中等]——分析及代码(Java)

    LeetCode--1888. 使二进制字符串字符交替的最少反转次数[Minimum Number of Flips to Make the Binary String Alternating][中等 ...

  2. C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数

    C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在C ...

  3. LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数

    LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...

  4. MySQL字符串前缀索引详解

    MySQL字符串前缀索引详解 1. 前缀索引与全部索引概念 2. 前缀索引与全部索引数据结构 3. 前缀索引与全部索引引执行流程 4. 前缀索引长度如何取舍 5. 前缀索引对覆盖索引的影响 6. 其他 ...

  5. 编写程序,统计一个长度为2的字符串在另一个字符串中出现的次数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p137 习题5 4.统计一个长度为2的字符串在另一个字符串中出现的次数.例如,假定输入的字符串为:as ...

  6. 求一个字符串中连续出现次数最多的子串

    http://blog.csdn.net/imcdragon/article/details/6838565解答二 http://hi.baidu.com/icyday315/item/040aada ...

  7. Leetcode1702. 修改后的最大二进制字符串[C++题解]:思维题

    文章目录 题目分析 题目链接 题目分析 只有2种操作:00变成10,10变成01,为了使得结果最大,需要前面尽可能变成1.怎么才能使得某一个的0变成1呢? 经过观察,只要这个0后面的某一位还有0,该位 ...

  8. python统计字符在文件中出现的次数_python字符串中字符出现次数(python获取字符串个数)...

    今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些方法的使用,用例很容易理解,所以我想通过我的博 ...

  9. JavaScript实现floatAsBinaryString浮点转为二进制字符串算法(附完整源码)

    JavaScript实现floatAsBinaryString浮点转为二进制字符串算法(附完整源码) floatAsBinaryString.js完整源代码 floatAsBinaryString.j ...

最新文章

  1. Codeforces 479【E】div3
  2. MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)
  3. SpringBoot中访问静态资源
  4. 跟ASP.NET MVC一起使用jQuery
  5. shell与python相互赋值
  6. H.248-Transcoding与Interception
  7. MySQL 数据库性能调优
  8. 深入浅出MFC笔记(5)
  9. 朋友圈加粗字体数字_Excel中Ctrl键与26个字母、10个数字及特殊符号的搭配使用快捷键...
  10. html js点击下拉菜单代码,JavaScript下拉菜单功能实例代码
  11. python fork()创建新的进程,daemon进程
  12. 再见!杭州!再见!阿里巴巴
  13. 这几款摸鱼神器,让我惊了!
  14. Mysql数据库的安全策略
  15. 节省大量时间的 Deep Learning 效率神器
  16. 串口数据实时处理:定时器+串口 判断串口数据接收完成
  17. python+爬虫+微信机器人 打造属于你的网购价格监督利器
  18. 扁鹊医术与企业解决方案
  19. (附源码)python电影院购票系统 毕业设计221133
  20. mysql创建用户并设置权限

热门文章

  1. 利用Winrar自解压捆绑文件
  2. 基于惯性轮倒立摆原理的自行车
  3. 4x root 红米_红米4X root教程_红米4X卡刷root包来获取root权限的方法
  4. IQueryable和IEnumerable学习
  5. 如何做一个企业网站制作
  6. 企业微信禁用成员是什么意思?
  7. 转【面向代码】学习 Deep Learning(二)Deep Belief Nets(DBNs)
  8. 【python】将字符串转换为十进制ASCII码
  9. HADOOP读写性能测试
  10. 云服务器系统分区,云服务器系统盘可以分区