Advertisement
avisrivastava254084

Untitled

Sep 22nd, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.87 KB | None | 0 0
  1. memoized = {}
  2.  
  3.  
  4. class Solution:
  5.     def check_unique(self, string):
  6.         if memoized.get(string, None):
  7.             return memoized[string]
  8.         else:
  9.             unique = {}
  10.             temp_string = ""
  11.             for char in string:
  12.                 temp_string += char
  13.                 if unique.get(char, None):
  14.                     memoized[string] = False
  15.                     memoized[temp_string] = False
  16.                     return False
  17.                 unique[char] = 1
  18.             memoized[string] = True
  19.             return True
  20.  
  21.     def find_unique_substring(self, string):
  22.         if memoized.get(string, None):
  23.             if memoized.get(string):
  24.                 return len(string)
  25.         if self.check_unique(string):
  26.             return len(string)
  27.         n = len(string)
  28.         return(self.find_unique_substring(string[0:n-1]))
  29.  
  30.     def lengthOfLongestSubstring(self, s: str) -> int:
  31.         curr_length = 0
  32.         for starting_index in range(len(s)):
  33.             unique_length_result = self.find_unique_substring(
  34.                 s[starting_index:])
  35.             if curr_length < len(s[starting_index:]) and unique_length_result:
  36.                 if curr_length < unique_length_result:
  37.                     curr_length = unique_length_result
  38.         return curr_length
  39.  
  40.  
  41. solution = Solution()
  42. print(solution.lengthOfLongestSubstring("abcabcbb"))
  43. print(solution.lengthOfLongestSubstring("bbbbb"))
  44. print(solution.lengthOfLongestSubstring("pwwkew"))
  45. print(
  46.     solution.lengthOfLongestSubstring(
  47.         "hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  48.     )
  49. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement