华为OD机试 - 完美走位(Python)
完美走位 题目描述: 输入一个长度为4的倍数的字符串,字符串中仅包含WASD四个字母。 将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换Q,如果替换后整个字符串中WASD四个字母出现的频数相同,那么我们称替换后的字符串是“完美走位”。求子串的最小长度。 如果输入字符串已经平衡则输出0。 二、输入一行字符表示给定的字符串s 数据范围: 1<=n<=10^5且n是4的倍数,字符串中仅包含WASD四个字母。 三、输出一个整数表示答案 四、样例输入输出示例1: 输入:WASDAASD 输出:1 说明: 将第二个A替换为W,即可得到完美走位。 示例2:输入:AAAA 输出:3 说明: 将其中三个连续的A替换为WSD,即可得到完美走位 借鉴优化了【完美走位】_笑着的程序员的博客-CSDN博客的思路
minT=1000000
walk=input()
avg=len(walk)/4
w=max(walk.count("W")-avg,0)
s=max(walk.count("S")-avg,0)
a=max(walk.count("A")-avg,0)
d=max(walk.count("D")-avg,0)def solveP():if(w==s==d==a):#完美情况return 0print(containstr(0,int(w+s+a+d-1),minT))def containstr(head:int,tail:int,minT:int):if(tail> len(walk)):return minT#越界即结束if(walk[head:tail].count("A")>=a and walk[head:tail].count("S")>=s and walk[head:tail].count("W")>=w and walk[head:tail].count("D")>=d):#我们只需要考虑多余的wasd数量即可minT=min(tail-head,minT)#更新minTreturn containstr(head+1,tail,minT)#右边框右滑else:return containstr(head,tail+1,minT)#左边框右滑solveP()
华为OD机试 - 完美走位(Python)相关推荐
- 华为OD机试 - 完美走位(Java JS Python)
题目描述 在第一人称射击游戏中,玩家通过键盘的A.S.D.W四个按键控制游戏人物分别向左.向后.向右.向前进行移动,从而完成走位. 假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作 ...
- 【华为OD机试c++/java/python 真题2023 Q1】
2023 Q1 新题库,实时更新中!!!!! [华为OD机试]-真题 !!点这里!! [华为OD机试]真题考点分类 !!点这里 !! 这些题目每一道博主都刷了至少两遍,对每一个题目都有自己的见解和思考 ...
- 【华为OD机试真题 python】连续出牌数量【2022 Q4 | 200分】
前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...
- 【华为OD机试真题 python】补种未成活胡杨 【2022 Q4 | 100分】
前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...
- 【华为OD机试真题 python】羊、狼、农夫过河【2022 Q4 | 100分】
前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...
- 【华为OD机试真题 python】星际篮球争霸赛【2022 Q4 | 100分】
前言 <华为OD笔试真题 python> 本专栏包含华为OD机试真题,会实时更新收纳网友反馈,为大家更新最新的华为德科OD机试试题,为大家提供学习和练手的题库,订阅本专栏后可私信进交流群哦 ...
- 【华为OD机试真题 python】用户调度问题 【2022 Q4 | 100分】
前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...
- 【华为OD机试真题 python】机器人走迷宫 【2022 Q4 | 200分】
前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...
- 【华为OD机试真题 python】篮球比赛 【2022 Q4 | 100分】
前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...
最新文章
- 【转载】JUnit各个注解的含义
- java培训学习阶段步骤讲解
- 为窗体添加防机器人的验证机制
- sql server 向mysql前移数据-单引号问题
- TensorFlow 教程 --教程--2.3MNIST机器学习入门
- 泰山JDK8升级u302,找到了更好的整合mips办法
- 【不能执行已释放的 sript 代码】 已解决 命名【疾风】
- 解决 “数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间” 的问题...
- BME280嵌入式设计-基于STM32F103的温湿度气压控制板-支持蓝牙串口输出数据!!!
- 分析咪蒙1013篇文章,300多万字,她凭什么会火?
- 编译原理 实验四 LR(1)分析法程序
- Mac制作操作系统启动盘
- Android Intent简介
- 深圳市专利代理机构名单(截至2016年3月)
- start request repeated too quickly for filebeat.service
- 2019做报表用什么软件:报表类型,产品推荐
- 2021年安徽省大数据与人工智能应用竞赛大数据(网络赛)-高职组赛题第三部分可视化
- 解决win10蓝牙搜索到小爱音箱无法连接问题
- 最新苹果CMS海螺模版V4.0修复版+自适应带后台
- 上海在职研究生计算机专业考什么,中国人民大学计算机专业在职研究生考试考什么?...