IT评测·应用市场-qidao123.com技术社区

标题: [蓝桥杯 2025 省 Python B] 最多次数 [打印本页]

作者: 王國慶    时间: 前天 08:25
标题: [蓝桥杯 2025 省 Python B] 最多次数
  1. import sys
  2. def max_times() -> int:
  3.      s = sys.stdin.readline().strip()
  4.      checked = {'l','q','b'} # set(),不存在键值对,识别为set()
  5.      n = len(s)
  6.      time = 0
  7.      i = 0
  8.      while i < n - 2:
  9.          sec = s[i:i+3]
  10.          if set(sec) == checked:
  11.              i += 3
  12.              time += 1
  13.          else:
  14.              i += 1
  15.    
  16.      sys.stdout.write(str(time))
  17. if __name__ == "__main__":
  18.      max_times()
复制代码
ps:
解法关键:处理片段切割问题,片段切割后,里面的任何部分都不可再使用
-----------------------------------------------------------------------------------------------------------------------------

变体:
处理片段切割问题,片段切割后,里面的任何部分可再使用
  1. import sys
  2. def max_count() -> int:
  3.      s = sys.stdin.readline().strip()
  4.      checked = {'l','q','b'} # set(),不存在键值对,识别为set()
  5.      n = len(s)
  6.      set_ = set() # 存贮没有重复的组合
  7.      # {} --> 空字典  set --> 空集合
  8.      for i in range(n - 2):
  9.          sec = s[i:i+3]
  10.          if set(sec) == checked and sec not in set_:
  11.              set_.add(sec)
  12.          else:
  13.              continue
  14.    
  15.      sys.stdout.write(str(len(set_)))
  16. if __name__ == "__main__":
  17.      max_count()
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4