暴力正则字符串匹配:CodeWars重复子串检测问题实现
搞定了!判断字符串是否由重复子串组成的实现
折腾了好多次,终于让这个程序在所有测试用例里都正常跑起来了!
这是我在做一个编程挑战时遇到的任务:编写程序接收一个字符串(不管是有序还是打乱的),返回该字符串是否由重复的子串构成。
我当时的实现思路是这样的:
- 借助
itertools.permutations生成输入字符串所有可能的排列组合 - 接着用正则表达式逐一检查这些排列,看看有没有符合“由重复子串组成”条件的情况
不过这里得提一句,这种方法的时间复杂度其实挺高的——毕竟字符串越长,排列的数量会指数级增长,只适合处理短字符串的场景。如果要优化的话,其实可以跳过生成排列这一步,直接从原字符串的字符频率出发,找出可能的子串长度,再针对性验证,这样效率会提升很多。
内容的提问来源于stack exchange,提问作者lkilgoretrout
相关产品推荐
相关产品推荐

