Leetcodde 3713. Longest Balanced Substring I
- Leetcodde 3713. Longest Balanced Substring I
- 1. 解题思路
- 2. 代码实现
- 题目链接:3713. Longest Balanced Substring I
1. 解题思路
这一题我思路上就是一个暴力循环的方法。
首先,我们计算出所有的元素的个数,然后从左往右依次考察每一个元素作为起始元素时其能够组成的最大的长度,然后找出最大值即可。
2. 代码实现
给出python代码实现如下:
class Solution:def longestBalanced(self, s: str) -> int:n = len(s)tot = Counter(s)def is_balanced(cnt):freq = max(cnt.values())return all(x == 0 or x == freq for x in cnt.values())ans = 1for i in range(n-1):if n-i <= ans:breakcnt = deepcopy(tot)for j in range(n-1, i, -1):if j-i+1 <= ans:breakif is_balanced(cnt):ans = j-i+1breakcnt[s[j]] -= 1tot[s[i]] -= 1return ans
提交代码评测得到:耗时4689ms,占用内存17.94MB。