Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- memoized = {}
- class Solution:
- def check_unique(self, string):
- if memoized.get(string, None):
- return memoized[string]
- else:
- unique = {}
- temp_string = ""
- for char in string:
- temp_string += char
- if unique.get(char, None):
- memoized[string] = False
- memoized[temp_string] = False
- return False
- unique[char] = 1
- memoized[string] = True
- return True
- def find_unique_substring(self, string):
- if memoized.get(string, None):
- if memoized.get(string):
- return len(string)
- if self.check_unique(string):
- return len(string)
- n = len(string)
- return(self.find_unique_substring(string[0:n-1]))
- def lengthOfLongestSubstring(self, s: str) -> int:
- curr_length = 0
- for starting_index in range(len(s)):
- unique_length_result = self.find_unique_substring(
- s[starting_index:])
- if curr_length < len(s[starting_index:]) and unique_length_result:
- if curr_length < unique_length_result:
- curr_length = unique_length_result
- return curr_length
- solution = Solution()
- print(solution.lengthOfLongestSubstring("abcabcbb"))
- print(solution.lengthOfLongestSubstring("bbbbb"))
- print(solution.lengthOfLongestSubstring("pwwkew"))
- print(
- solution.lengthOfLongestSubstring(
- "hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement