LC 1446.Consecutive Characters

题目描述

这是 LeetCode 上的 1446. 连续字符 ,难度为简单

给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。

请你返回字符串 s能量

示例 1:

1
2
3
输入:s = "leetcode"
输出:2
解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。

示例 2:

1
2
3
输入:s = "abbcccddddeeeeedcba"
输出:5
解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。

提示:

  • 1 <= s.length <= 500
  • s 只包含小写英文字母。

解答

方法一:模拟

根据题意,对前一个字符是否和当前的字符相同进行判断,如果是就计数,最后求出最大的计数量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public int maxPower(String s) {
int cnt = 1, t = 1;
for (int i = 1; i < s.length(); ++i) {
if (s.charAt(i) == s.charAt(i - 1)) {
++t;
cnt = Math.max(cnt, t);
} else {
t = 1;
}
}
return cnt;
}
}
  • 时间复杂度\(O(N)\),其中 Ns 的长度。

  • 空间复杂度\(O(1)\)

每题一图


LC 1446.Consecutive Characters
https://chen-huaneng.github.io/2023/12/13/2023-12-13-2023-12-13-lc-1446/
作者
Abel
发布于
2023年12月13日
更新于
2023年12月13日
许可协议