首页 > 编程语言 >python-小理和01串(赛氪OJ)

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

时间:2024-08-25 12:58:17浏览次数:6  
标签:01 python 小理 sum len 输入 append

[题目描述]
小理有一个 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(n[i])
     else:
            m.append(n[i])
            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(n[i])
      else:
             m.append(n[i])
             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,如果是,则将n[i]添加进列表m中,否则让n[i]添加进m中,判断m的末两位元素是否为01或10,如果是,则让sum+1,令m=[]。
print(sum)  ”,打印sum的最终结果。


运行效果展示:

6bba296bf8d14167b3fe6b7de9fba3d1.jpg

f5cfe0e1a4c14d98b06453d21b34f11a.jpg 

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

标签:01,python,小理,sum,len,输入,append
From: https://blog.csdn.net/2401_83954530/article/details/141527956

相关文章

  • Python计算机视觉 第2章-局部图像描述子
    Python计算机视觉第2章-局部图像描述子2.1Harris角点检测器Harris角点检测算法(也称Harris&Stephens角点检测器)是一个极为简单的角点检测算法。该算法的主要思想是,如果像素周围显示存在多于一个方向的边,我们认为该点为兴趣点。该点就称为角点。Harris角点检测算法Har......
  • C++/python趣味实验之:互动游戏
    之前,我们已经使用python做出了可以根据C++数据变更的血条现在,拓展一下这个程序,制作一个可以互动的游戏既然是游戏,那就需要一个启动界面,所以我们可以制作一个蓝天白云的场景怎么实现呢?首先,我们要明白,这只是一个启动界面,所以一定是根据C++方面的数据而启动和关闭的,这时,就需要......
  • 洛谷 P8615 [蓝桥杯 2014 国 C] 拼接平方数
    题面题目描述小明发现很有趣,首先,它是个平方数。它可以拆分为和,拆分出来的部分也是平方数。也有这个性质,我们权且称它们为:拼接平方数。可拆分,这有点勉强,我们规定,等都不算平方数。小明想:还有哪些数字是这样的呢?你的任务出现了:找到某个区间的所有拼接平方数。输入......
  • ECOS3010 mathematical equations
    ECOS3010:Assignment1(Total:20marks)Due11:59pm,FridayAug30,20241.Homeworkmustbeturnedinonthedayitisdue.Worknotsubmittedonorbeforetheduedateissubjecttoapenaltyof5%percalendardaylate.Ifworkissubmittedmorethan......
  • 【8.2 python中的使用re模块实现正则表达式操作】
    python中的使用re模块实现正则表达式操作Python中的re模块提供了对正则表达式的支持。正则表达式(RegularExpression,简称regex或regexp)是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列符合某个句法......
  • 【12.1 python中的异常概述】
    概述python中的异常Python中的异常(Exception)是一种在程序执行期间发生,且会扰乱程序正常流程的事件。异常是Python用来响应错误和异常情况的一种机制,它允许程序在遇到错误时优雅地处理它们,而不是突然崩溃并停止执行。异常处理对于开发健壮、可靠和用户友好的应用程序至关重......
  • Python消息轰炸脚本
    Python代码:frompynput.keyboardimportKey,Controllerimporttimekeyboard=Controller()messages=input("请输入你要轰炸的信息:")times=eval(input("请输入你要轰炸的次数:"))print("数据已被后台接受,请将光标移动至会话框")time.sleep(2)foriinrange(3):print(&qu......
  • Python安装教程
    第一步:先去官网上下载python安装包系统64位下载地址:系统32位下载地址:第二步:点击安装包要点击Addpython.exetoPATH这个是配置系统变量的然后点installNow就开始跑安装进度了打开终端输入代码python再输入print(123),如果输入123那么安装完成,可以整活了......
  • 历年CSP-J初赛真题解析 | 2015年CSP-J初赛阅读程序(23-26)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客#include<iostream>usingnamespacestd;intmain(){inta,b,c;a=1;b=2;c=3;if(a>b){......
  • 在Python虚拟环境中利用PyInstaller高效构建可执行EXE文件的专业指南
    使用虚拟环境(如venv或conda)来打包Python程序为exe文件是一个很好的实践,因为它可以确保应用程序在不同的环境中具有一致性和可移植性。然而,需要注意的是,虚拟环境本身并不直接提供将Python程序打包成exe文件的功能。这通常需要使用专门的打包工具,如PyInstaller、cx_Freeze或py......