python-小理和01串(赛氪OJ)

题目描述

小理有一个 01 串,串中只包含 0 和 1 ,小理要把这个串划分成连续的 m 段,使得每一段至少包含一个 0 和一个 1 。小理想最大化 m ,m 最大是多少呢?
输入格式:

输入包含一行一个 01 串 S 。保证中至少包含一个 0 和一个 1 。
输出格式:

输出一行一个整数表示答案。
样例输入

10101111000010101111010101
样例输出

9
数据范围

对于 100% 的数据,保证 2≤s.length≤105 。

来源/分类(难度系数:四星 )
字符串 前缀和

++完整代码展示:++

n=list(input())

sum=0

m=\[\]

for i in range(0,len(n)):

if len(m)==0:

m.append(ni)

else:

m.append(ni)

if (m-2=='1' and m-1=='0') or (m-2=='0' and m-1=='1'):

sum+=1

m=\[\]

print(sum)

++代码解释:++

"n=list(input()) ",让用户输入一个01串,并将其分割为单个元素后储存在列表n中。

"sum=0
m=\[\]
for i in range(0,len(n)):
if len(m)==0:
m.append(ni)
else:
m.append(ni)
if (m-2=='1' and m-1=='0') or (m-2=='0' and m-1=='1'):
sum+=1
m=\[\]
",令sum=0,建立一个空列表m,接着依次遍历n中元素:判断m的长度是否为0,如果是,则将ni添加进列表m中,否则让ni添加进m中,判断m的末两位元素是否为01或10,如果是,则让sum+1,令m=\[\]。

"print(sum)",打印sum的最终结果。

++运行效果展示:++

++++

(声明:以上内容均为原创)

相关推荐
老歌老听老掉牙1 小时前
空间曲线数据的拼接与几何变换分析
python·曲线
databook5 小时前
使用 SciPy 库进行时间序列分析
python·数据分析·scipy
java资料站5 小时前
十一、评估测试
开发语言·人工智能·python
szial5 小时前
网络爬虫与 CDP 实战(二):浏览器能访问,Python 却被拒绝?拆开登录态与 CSRF
爬虫·python·csrf
海上小飞龙6 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
青少儿编程课堂6 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i6 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
怕浪猫7 小时前
LLM 面试必问的 8 个问题,答不上来直接淘汰
人工智能·python·面试
老歌老听老掉牙8 小时前
从三维旋转的深度解析到Python实现:绕任意轴旋转的奥秘
python·三维旋转
乐迪信息8 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉