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])
相关推荐
菜菜的顾清寒几秒前
HOT100力扣(40) 动态规划-爬楼梯
算法·leetcode·动态规划
财经资讯数据_灵砚智能3 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月28日
大数据·人工智能·python·信息可视化·自然语言处理·ai编程·灵砚智能
m沐沐4 分钟前
【机器学习】聚类算法-K-means聚类
人工智能·python·算法·机器学习·pycharm·kmeans·聚类
若鱼文化创意10 分钟前
品牌设计CI规划使用后交付偏差先分项核对验收标准
python·ci/cd
水木流年追梦11 分钟前
大模型入门-大模型优化方法3
人工智能·分布式·python·深度学习·机器学习
z落落12 分钟前
C# Dictionary 字典集合+数组、List、Dictionary 三者终极对比
算法
醇氧13 分钟前
排队论(牛吃草问题)解题全解析
算法
悟乙己16 分钟前
因果推断方法实践:Python实现合成控制法
开发语言·python
lulu121654407818 分钟前
Claude钩子系统架构设计:从执行时序到扩展机制
java·人工智能·python·ai编程
极光代码工作室21 分钟前
基于Spark的电商用户点击流分析系统
大数据·python·数据分析·spark·数据可视化