From 0e8f6c4e554044e0087b8109ae3ab47676b8246f Mon Sep 17 00:00:00 2001 From: und1n3 Date: Mon, 4 Oct 2021 16:46:09 +0200 Subject: [PATCH] Added function for Leetcoode problem Length of Longest Substring. --- Leetcode/Python/length_longest_substring.py | 41 +++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Leetcode/Python/length_longest_substring.py diff --git a/Leetcode/Python/length_longest_substring.py b/Leetcode/Python/length_longest_substring.py new file mode 100644 index 000000000..4499a3128 --- /dev/null +++ b/Leetcode/Python/length_longest_substring.py @@ -0,0 +1,41 @@ +""" +https://leetcode.com/problems/longest-substring-without-repeating-characters/submissions/ + +Example 1: +Input: s = "abcabcbb" +Output: 3 +Explanation: The answer is "abc", with the length of 3. + +Example 2: +Input: s = "bbbbb" +Output: 1 +Explanation: The answer is "b", with the length of 1. + +Example 3: +Input: s = "pwwkew" +Output: 3 +Explanation: The answer is "wke", with the length of 3. + +Example 4: +Input: s = "" +Output: 0 +""" + +class Solution: + def lengthOfLongestSubstring(self, s: str) -> int: + i = 0 + maximum_lengths = set() + l = set() + while i < len(s): + if s[i] in l: + l = set() + maximum_lengths.add(i) + index_same_el = s.index(s[i]) + s = s[index_same_el + 1:] + i = 0 + + else: + l.add(s[i]) + i += 1 + maximum_lengths.add(i) + return max(maximum_lengths)