Leetcode # 2981. Find Longest Special Substring That Occurs Thrice I
- 2024.12.11
- ★★ Medium LeetCode Sliding Window
Problem
https://leetcode.com/problems/find-longest-special-substring-that-occurs-thrice-i
Solution / First Try
- 第 5 行的
s + "*"
是為了能在結尾時再做一次判斷 aaaaa
代表包含 1 個aaaaa
, 2 個aaaa
, 3 個aaa
, 4 個aa
, 5 個a
Time Complexity: O(len(s) ** 2)
Space Complexity: O(len(s) ** 2)
(The input and output generally do not count towards the space complexity.)
class Solution: def maximumLength(self, s: str) -> int: start = 0 counter = Counter() for i, c in enumerate(s + "*"): if c == s[start]: continue sub_s_len = i - start + 1 for j in range(1, sub_s_len): counter[s[start] * j] += sub_s_len - j start = i lss_len = -1 for special_sub_s, n in counter.most_common(): if n < 3: break lss_len = max(lss_len, len(special_sub_s)) return lss_len
Last Updated on 2024/12/11 by A1go