LeetCode 1446. 连续字符
题目描述
思路分析
解法一:一次扫描(推荐)
核心思路:
- 遍历字符串,统计当前连续字符长度。
- 遇到不同字符时重置计数,并更新最大值。
复杂度分析:
- 时间复杂度:O(n)。
- 空间复杂度:O(1)。
class Solution {
public int maxPower(String s) {
int maxLen = 1;
int cur = 1;
for (int i = 1; i < s.length(); i++) {
if (s.charAt(i) == s.charAt(i - 1)) {
cur++;
} else {
cur = 1;
}
maxLen = Math.max(maxLen, cur);
}
return maxLen;
}
}
func maxPower(s string) int {
maxLen := 1
cur := 1
for i := 1; i < len(s); i++ {
if s[i] == s[i-1] {
cur++
} else {
cur = 1
}
if cur > maxLen {
maxLen = cur
}
}
return maxLen
}
相似题目
| 题目 | 难度 | 考察点 |
|---|---|---|
| 1859. 将句子排序 | 简单 | 字符串 |
| 434. 字符串中的单词数 | 简单 | 字符串 |
| 443. 压缩字符串 | 中等 | 双指针 |
| 541. 反转字符串 II | 简单 | 字符串 |
| 3. 无重复字符的最长子串 | 中等 | 滑动窗口 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!