当前位置:网站首页>1375. 二进制字符串前缀一致的次数-前序遍历法
1375. 二进制字符串前缀一致的次数-前序遍历法
2022-08-04 13:49:00 【Mr Gao】
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;
}
边栏推荐
猜你喜欢

SLAM 04.视觉里程计-1-相机模型

面试官:说一下NIO和BIO的区别

国家安全机关对涉嫌危害国家安全犯罪嫌疑人杨智渊实施刑事拘传审查

c#之winform(软件开发)

MPLS experiment
MySQL性能指标TPS\QPS\IOPS如何压测?

《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出

nVisual secondary development - Chapter 2 nVisual API operation guide Swagger use

MPLS实验

Button control switch 4017 digital circuit chip
随机推荐
电子行业MES管理系统有哪些特殊功能
LeetCode_424_替换后的最长重复字符
谁说 Mysql 单表最大 2000 W ?我硬要塞它 1 个亿
第六届未来网络发展大会,即将开幕!
阴影初始化【5】
php中的ceil和floo以及round函数「建议收藏」
牛客网刷题记录 || 链表
第四讲 SVN
router---dynamic route matching
Various problems with npm install
相似文本聚类与调参
17种正则表达式
MogDB/openGauss 3.0 扩容及缩容
Is there a replacement for the LM2596?LM2576 can
【毕设选题推荐】机器人工程专业毕设选题推荐
七夕当然要学会SQL优化好早点下班去找对象
router---Programmatic navigation
关于redis的几件小事(五)redis保证高并发以及高可用
企业应当实施的5个云安全管理策略
Fuse bit of AVR study notes