我正试图解决这个问题。当我在我的笔记本上运行它时,输出是好的,但当我把它提交给leetcode时就不行了。花了一个小时还是搞不懂。夫妇的眼睛当然应该帮助更多。在
class Solution28(object):
def replaceWords(self, dict, sentence):
"""
:type dict: List[str]
:type sentence: str
:rtype: str
"""
dict=sorted(dict)
slist=sentence.split(' ')
#print slist
n = len(slist)
for i in xrange(n):
for d in dict:
if d in slist[i]:
slist[i]=d
break
elif d > slist[i]:
break
return " ".join(slist)
obj = Solution28()
print obj.replaceWords(["cat", "bat", "rat"],"battery cattle was rattled by the battery")
####o/p from my laptop: bat cat was rat by the bat
####o/p in leetcode: battery cat was rat by the battery
当单词不在开头时,此代码中存在一个算法错误。在
例如,此代码将认为“rat”是“mouserat”的根。在
但是,如果更改行:
到
^{pr2}$当我在leetcode中测试时,它通过了。在
相关问题 更多 >
编程相关推荐