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

相关推荐
iAkuya2 分钟前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
80530单词突击赢4 分钟前
C++关联容器深度解析:set/map全攻略
java·数据结构·算法
m0_561359674 分钟前
代码热更新技术
开发语言·c++·算法
Warren9814 分钟前
Pytest Fixture 作用域详解:Function、Class、Module、Session 怎么选
面试·职场和发展·单元测试·pytest·pip·模块测试·jira
xu_yule30 分钟前
算法基础—组合数学
c++·算法
爱尔兰极光31 分钟前
LeetCode--移除元素
算法·leetcode·职场和发展
努力学算法的蒟蒻35 分钟前
day73(2.1)——leetcode面试经典150
面试·职场和发展
Warren9837 分钟前
接口测试理论
docker·面试·职场和发展·eureka·ansible
Tansmjs43 分钟前
C++中的工厂模式变体
开发语言·c++·算法
naruto_lnq1 小时前
多平台UI框架C++开发
开发语言·c++·算法