12.填充

12.填充 - 蓝桥云课 (lanqiao.cn)

问题描述

有一个长度为n的01串,其中有一些位置标记为 ?,这些位置上可以任意填充0或者1,请问如何填充这些位置使得这个01串中出现互不重叠的00和11子串最多,输出子串个数

输入格式

输入一行包含一个字符串

输出格式

输出一行包含一个整数表示答案

样例输入

1110?0

样例输出

复制代码
import os
import sys

# 请在此输入您的代码
s=input()
n=len(s)
dp=[0]*n

for i in range(1,n):
  if s[i]==s[i-1] or s[i]=='?' or s[i-1]=='?': #如果当前位置的字符与前一个位置的字符相同,或者当前位置或前一个位置为问号(?)
    dp[i]=dp[i-2]+1  #i-2应该是因为要00/11 才算进子串数量
  else: #如果当前位置的字符与前一个位置的字符不相同,且当前位置和前一个位置都不是问号
    dp[i]=dp[i-1] #0,1变化,最长字串长度不发生变化,等于前一个长度
print(dp[-1])
相关推荐
练习时长一年13 小时前
LeetCode热题100(分割等和子集)
算法·leetcode·职场和发展
七号驿栈13 小时前
07_汽车信息安全算法在线验证工具(测试报告)
算法
玖疯子13 小时前
TCP/IP协议栈深度解析技术文章大纲
python·scikit-learn·pyqt·pygame
sunfove14 小时前
Python 自动化实战:从识图点击、模拟真人轨迹到封装 EXE 全流程教学
开发语言·python·自动化
傻啦嘿哟14 小时前
Python网页自动化操作全攻略:从入门到实战
开发语言·python·自动化
啦哈拉哈14 小时前
【Python】知识点零碎学习4
python·学习·算法
爱喝可乐的老王14 小时前
线性回归模型案例:广告投放效果预测
算法·回归·线性回归
qwerasda12385214 小时前
车牌字符识别与定位技术:多国家车牌检测与识别系统
python
独行soc14 小时前
2026年渗透测试面试题总结-3(题目+回答)
网络·python·安全·web安全·渗透测试
sg_knight14 小时前
工厂方法模式(Factory Method)
java·服务器·python·设计模式·工厂方法模式·工厂模式