马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import sys
- def max_times() -> int:
- s = sys.stdin.readline().strip()
- checked = {'l','q','b'} # set(),不存在键值对,识别为set()
- n = len(s)
- time = 0
- i = 0
- while i < n - 2:
- sec = s[i:i+3]
- if set(sec) == checked:
- i += 3
- time += 1
- else:
- i += 1
-
- sys.stdout.write(str(time))
- if __name__ == "__main__":
- max_times()
复制代码 ps:
解法关键:处理片段切割问题,片段切割后,里面的任何部分都不可再使用
-----------------------------------------------------------------------------------------------------------------------------
变体:
处理片段切割问题,片段切割后,里面的任何部分可再使用
- import sys
- def max_count() -> int:
- s = sys.stdin.readline().strip()
- checked = {'l','q','b'} # set(),不存在键值对,识别为set()
- n = len(s)
- set_ = set() # 存贮没有重复的组合
- # {} --> 空字典 set --> 空集合
- for i in range(n - 2):
- sec = s[i:i+3]
- if set(sec) == checked and sec not in set_:
- set_.add(sec)
- else:
- continue
-
- sys.stdout.write(str(len(set_)))
- if __name__ == "__main__":
- max_count()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |