Python 尝试Leetcode时出现问题,接收内存已超出?
我试图解决Leetcode上的一个Python问题,该问题要求您计算并返回包含给定字符串唯一字符的最长子字符串的长度。这是我已经测试过的代码,似乎可以工作,但Leetcode站点不接受它,并通知我“内存已超出”错误。你知道怎么解决这个问题吗Python 尝试Leetcode时出现问题,接收内存已超出?,python,memory-management,Python,Memory Management,我试图解决Leetcode上的一个Python问题,该问题要求您计算并返回包含给定字符串唯一字符的最长子字符串的长度。这是我已经测试过的代码,似乎可以工作,但Leetcode站点不接受它,并通知我“内存已超出”错误。你知道怎么解决这个问题吗 class Solution(object): def lengthOfLongestSubstring(self, s): """ First access all of the substrings """ ls_
class Solution(object):
def lengthOfLongestSubstring(self, s):
""" First access all of the substrings """
ls_subs = []
unique_subs = []
for i in range(len(s)):
sub = s[i:]
ls_subs.append(sub)
""" Build versions of the substrings which contain unique chars """
for sub in ls_subs:
counter = 0
unique = ""
while counter < len(sub) and sub[counter] not in unique:
unique += sub[counter]
counter += 1
unique_subs.append(unique)
""" Find the longest one """
length = 0
for sub in unique_subs:
if len(sub) > length:
length = len(sub)
return length
类解决方案(对象):
def LENGTHOFLONGESTSTRING子字符串(自身):
“”“首先访问所有子字符串”“”
ls_subs=[]
唯一的_subs=[]
对于范围内的i(len(s)):
sub=s[i:]
ls_subs.append(sub)
“”“包含唯一字符的子字符串的生成版本”“”
对于ls_接头中的接头:
计数器=0
unique=“”
当计数器长度:
长度=长度(分)
返回长度
如果在您单击“提交”时,LeetCode在针对其全套测试用例运行代码时出错,那么它应该在屏幕左上角显示代码失败的测试用例。如果我怀疑错误发生在一个超大的字符串上,那么它显示的测试用例数据将被切断,但是那里会有一个“详细信息”链接,您可以单击以查看完整的测试用例。因此,通过这种方式获得已知的失败测试用例,您可以使用它来调试代码。顺便说一句,因为您只需要返回最长的唯一子节点的长度,所以根本不需要存储唯一子节点——就像您发现每个唯一子节点在首次将最长节点初始化为0后执行类似于longest=max(longest,len(unique))
的操作一样