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)。

相关推荐
小南家的青蛙8 小时前
LeetCode LCR 085 括号生成
算法·leetcode·职场和发展
jackzhuoa8 小时前
Rust 异步核心机制剖析:从 Poll 到状态机的底层演化
服务器·前端·算法
夜晚中的人海8 小时前
【C++】模拟算法习题
c++·算法·哈希算法
花月C8 小时前
算法 - 差分
人工智能·算法·机器学习
拆房老料8 小时前
深入解析提示语言模型校准:从理论算法到任务导向实践
人工智能·算法·语言模型
晨非辰8 小时前
《数据结构风云》递归算法:二叉树遍历的精髓实现
c语言·数据结构·c++·人工智能·算法·leetcode·面试
Dream it possible!8 小时前
LeetCode 面试经典 150_链表_LRU 缓存(66_146_C++_中等)(哈希表 + 双向链表)
c++·leetcode·链表·面试
_dindong11 小时前
牛客101:二叉树
数据结构·c++·笔记·学习·算法
数字化脑洞实验室12 小时前
如何理解不同行业AI决策系统的功能差异?
大数据·人工智能·算法
前端架构师-老李14 小时前
从大厂到中小公司,活下去的五个生存法则
职场和发展