完美走位
题目描述:
输入一个长度为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)相关推荐

  1. 华为OD机试 - 完美走位(Java JS Python)

    题目描述 在第一人称射击游戏中,玩家通过键盘的A.S.D.W四个按键控制游戏人物分别向左.向后.向右.向前进行移动,从而完成走位. 假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作 ...

  2. 【华为OD机试c++/java/python 真题2023 Q1】

    2023 Q1 新题库,实时更新中!!!!! [华为OD机试]-真题 !!点这里!! [华为OD机试]真题考点分类 !!点这里 !! 这些题目每一道博主都刷了至少两遍,对每一个题目都有自己的见解和思考 ...

  3. 【华为OD机试真题 python】连续出牌数量【2022 Q4 | 200分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  4. 【华为OD机试真题 python】补种未成活胡杨 【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  5. 【华为OD机试真题 python】羊、狼、农夫过河【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  6. 【华为OD机试真题 python】星际篮球争霸赛【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 本专栏包含华为OD机试真题,会实时更新收纳网友反馈,为大家更新最新的华为德科OD机试试题,为大家提供学习和练手的题库,订阅本专栏后可私信进交流群哦 ...

  7. 【华为OD机试真题 python】用户调度问题 【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  8. 【华为OD机试真题 python】机器人走迷宫 【2022 Q4 | 200分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  9. 【华为OD机试真题 python】篮球比赛 【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

最新文章

  1. 【转载】JUnit各个注解的含义
  2. java培训学习阶段步骤讲解
  3. 为窗体添加防机器人的验证机制
  4. sql server 向mysql前移数据-单引号问题
  5. TensorFlow 教程 --教程--2.3MNIST机器学习入门
  6. 泰山JDK8升级u302,找到了更好的整合mips办法
  7. 【不能执行已释放的 sript 代码】 已解决 命名【疾风】
  8. 解决 “数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间” 的问题...
  9. BME280嵌入式设计-基于STM32F103的温湿度气压控制板-支持蓝牙串口输出数据!!!
  10. 分析咪蒙1013篇文章,300多万字,她凭什么会火?
  11. 编译原理 实验四 LR(1)分析法程序
  12. Mac制作操作系统启动盘
  13. Android Intent简介
  14. 深圳市专利代理机构名单(截至2016年3月)
  15. start request repeated too quickly for filebeat.service
  16. 2019做报表用什么软件:报表类型,产品推荐
  17. 2021年安徽省大数据与人工智能应用竞赛大数据(网络赛)-高职组赛题第三部分可视化
  18. 解决win10蓝牙搜索到小爱音箱无法连接问题
  19. 最新苹果CMS海螺模版V4.0修复版+自适应带后台
  20. 上海在职研究生计算机专业考什么,中国人民大学计算机专业在职研究生考试考什么?...

热门文章

  1. 32python腾讯位置大数据2.0版本成功输出北京位置数据(续接上2019年8月21日停止服务的内容)
  2. Joplin 软件转换中文
  3. 头像采集,学生照片信息采集器
  4. 代码格式化工具:pretter
  5. 微信小程序消息订阅超详细流程步骤
  6. solidworks3D打印技术
  7. lisp 套料_标志排字及过桥的AutoCAD自动化插件设计
  8. TCP四次挥手及原因
  9. 维修上门预约系统简单讲
  10. 个人和企业如何注册腾讯云账号?