LeetCode 1446.连续字符

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

请你返回字符串 s 的 能量。

示例 1:

输入:s = "leetcode"

输出:2

解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。

示例 2:

输入:s = "abbcccddddeeeeedcba"

输出:5

解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。

提示:

1 <= s.length <= 500

s 只包含小写英文字母。

分组循环,找最长连续的那组:

cpp 复制代码
class Solution {
public:
    int maxPower(string s) {
        int ans = 0;

        int n = s.size();

        int i = 0;

        while (i < n) {
            int start = i;
            // 计数连续组的长度
            while (i < n && s[i] == s[start]) {
                ++i;
            }

            ans = max(ans, i - start);
        }

        return ans;
    }
};

如果s的长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1)。

相关推荐
java干货2 分钟前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
皮皮哎哟10 分钟前
数据结构:嵌入式常用排序与查找算法精讲
数据结构·算法·排序算法·二分查找·快速排序
程序员清洒19 分钟前
CANN模型剪枝:从敏感度感知到硬件稀疏加速的全链路压缩实战
算法·机器学习·剪枝
vortex533 分钟前
几种 dump hash 方式对比分析
算法·哈希算法
Wei&Yan2 小时前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
团子的二进制世界2 小时前
G1垃圾收集器是如何工作的?
java·jvm·算法
吃杠碰小鸡2 小时前
高中数学-数列-导数证明
前端·数学·算法
故事不长丨2 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
long3162 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
近津薪荼2 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先