首页 > 解决方案 > jupyter笔记本内存关机

问题描述

问题是从我尝试使用递归的字符串中找到最长的子字符串

让我们说输入

s = "abcabcbb"
output = "abs" 是最长的子串

class Solution(object):
    def __init__(self):
        self.lst = ""
    def lengthOfLongestSubstring(self, s):
        """
        :type s: str
        :rtype: int
        """
        for i in range(len(s)-1):
            print("->", s[:i], " ->", s[:i+1] , "->" , self.lst)
            if len(set(s[:i])) == len(set(s[:i+1])):
                if (len(s[:i]) > len(self.lst)): 
                    lst = s[:i] 
                break

        return lengthOfLongestSubstring(s[1:])

我不允许再将一个变量传递给 lengthOfLongestSubstring() 所以我不知道在哪里保存了在递归之前找到的最长子字符串

标签: pythonrecursion

解决方案


推荐阅读