Как вариант, можно еще попробовать решить регулярками, это запаристо и знают единицы, но как вариант думаю сойдёт) спасибо за разборы
@idsulik2 ай бұрын
Спасибо) Регулярками можно для разнообразия, но на собеседовании скорее всего будут ждать примерно такое решение, ну и на деле лучше тоже использовать такой вариант, т.к. регулярки тяжелее и добавляют когнитивную нагрузку, на мой взгляд
@rimashi10892 ай бұрын
@@idsulik полностью согласен, просто как вариант решения)
@just_bax2 ай бұрын
Для второго решения лучше использовать set вместо dict
@idsulik2 ай бұрын
Да можно, пример будет ниже, но можно еще лучше оптимизировать, вместо "while" использовать "if", если знаете как, то напишите, если нет, но хотите узнать, дайте знать) class Solution: def lengthOfLongestSubstring(self, s: str) -> int: res = 0 left = 0 seen = set() for right in range(len(s)): right_char = s[right] while right_char in seen: left_char = s[left] seen.remove(left_char) left += 1 seen.add(right_char) res = max(res, right - left + 1) return res