码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode——30. 串联所有单词的子串

时间:2019-10-18 17:23:21      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:字符串   提交   color   lis   style   def   break   bst   就是   

class Solution:
    def findSubstring(self, s: str, words):
        if s==‘‘ or words==[]:return []
        n=len(words)
        m=len(words[0])
        r=[]
        i=0
        while i<len(s)-m*n+1:
            for j in words:
                p=s[i:i+m*n]
                t=list(p[m*i:m*(i+1)] for i in range(n))
                if t.count(j)!=words.count(j):
                    i+=1
                    break
            else:
                r.append(i)
                i+=1
        return r
执行用时 :908 ms, 在所有 python3 提交中击败了48.75%的用户
内存消耗 :13.9 MB, 在所有 python3 提交中击败了5.30%的用户
 
这里面用到 t 的原因是:
不用 t 的时候,比如:s = "ababaab", words = ["ab","ba","ba"] 就会报错!
错误原因:因为计算时候我们会从字符串中间计算,也就是说会出现单词截断的问题。
 
 
 

leetcode——30. 串联所有单词的子串

标签:字符串   提交   color   lis   style   def   break   bst   就是   

原文地址:https://www.cnblogs.com/taoyuxin/p/11699441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!