diff --git a/3-240603-pass/main.py b/3-240603-pass/main.py
new file mode 100644
index 0000000..1a74d59
--- /dev/null
+++ b/3-240603-pass/main.py
@@ -0,0 +1,36 @@
+class Solution:
+    def lengthOfLongestSubstring(self, s: str) -> int:
+        dic = {}
+        def encode(ch) -> int:
+            if ch not in dic:
+                dic[ch] = len(dic)
+            return dic[ch]
+
+        l = [0 for i in range(108)]
+        rlt = 0
+        start = 0
+        
+        for i, ch in enumerate(s):
+            idx = encode(ch)
+            if(l[idx] >= 1):
+                rlt = max(rlt, i - start )
+                # print("now", start, rlt)
+                while start < i and l[idx] >= 1:
+                    tmp = encode(s[start])
+                    start = start + 1
+                    l[tmp] -= 1
+            l[idx] += 1
+            # print(ch, start, l )
+        rlt = max(rlt, len(s) - start )
+        if rlt == 0: return len(s)
+        return rlt
+
+sol = Solution()
+print(sol.lengthOfLongestSubstring("abcabcbb"))
+print(sol.lengthOfLongestSubstring("bbbbb"))
+print(sol.lengthOfLongestSubstring("pwwkew"))
+print(sol.lengthOfLongestSubstring("abcde"))
+print(sol.lengthOfLongestSubstring("abcdbej"))
+print(sol.lengthOfLongestSubstring("bbcdjeb"))
+print(sol.lengthOfLongestSubstring(" "))
+print(sol.lengthOfLongestSubstring("1 b 234aac 2"))
\ No newline at end of file