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])
相关推荐
三十岁老牛再出发3 分钟前
08.18每日总结
c++·python·numpy·pandas
Zane199420 分钟前
daemon 线程说没就没?一文讲透 threading 的适用场景与线程安全
后端·python
up up day25 分钟前
Python enchant 模块使用教程
python
zoujiahui_201825 分钟前
Python 包与环境管理工具 uv
开发语言·python·uv
地平线开发者44 分钟前
征程6|YOLOv5x 在 Horizon 征程6 上的端到端部署实践(下)
算法·自动驾驶
speop1 小时前
llm-algo-leetcode |Task01
算法·leetcode·职场和发展
程序猿阿森1 小时前
Python 闭包与装饰器:从入门到精通
开发语言·python·面试
艾为电子1 小时前
【应用方案】电视沉浸式音频升级: 电视音频 awinic“芯片 + 算法” 一体化解决方案
算法·音视频
老大白菜1 小时前
Qwen3.8-27B 本地推理 + DeepSeek Harness 配置
python·qwen·deepseek·harness
大熊背1 小时前
树莓派相机自动白平衡详解(二)
算法·白平衡·isppipeline