
1446 连续字符(统计连续相同的字符出现的最大次数)
发布日期:2021-05-07 21:56:18
浏览次数:20
分类:精选文章
本文共 966 字,大约阅读时间需要 3 分钟。
1. 问题描述:
给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。
示例 1:
输入:s = "leetcode"
输出:2 解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。示例 2:
输入:s = "abbcccddddeeeeedcba"
输出:5 解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。示例 3:
输入:s = "triplepillooooow"
输出:5示例 4:
输入:s = "hooraaaaaaaaaaay"
输出:11示例 5:
输入:s = "tourist"
输出:1提示:
1 <= s.length <= 500
s
只包含小写英文字母。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/consecutive-characters2. 思路分析:
分析题目可以知道我们最终要求解的是连续相同的字符出现的最大次数,我们其实可以在遍历的过程中判断相邻的字母是否相同来更新连续字母出现的最大次数即可,声明一个初始值为1的变量然后当相邻的字母相同的时候次数加1,否则更新连续相同的字符出现的最大次数,并且将这个变量的值重置为1这样可以计算下一次连续字母出现的次数
3. 代码如下:
import collectionsclass Solution: def maxPower(self, s: str) -> int: res, count = 1, 1 for i in range(1, len(s)): # 判断相邻两个字符是否相等 if s[i] == s[i - 1]: count += 1 else: res = max(res, count) count = 1 # 字符串中最后的字符可能连续相等的所以需要再求解一下最大值 res = max(res, count) return res
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年05月02日 20时43分28秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leetCode 字符串反转
2023-01-31
leetcode 验证回文字符串 java实现
2023-01-31
LeetCode(229):Majority Element ||
2023-01-31
leetcode--
2023-01-31
LeetCode--020--括号匹配
2023-01-31
Leetcode-966 Vowel Spellchecker(元音拼写检查器)
2023-01-31
LeetCode111.二叉树最小深度
2023-01-31
LeetCode13:罗马数字转整数
2023-01-31
leetcode23-合并K个升序链表
2023-01-31
LeetCode268.缺失数字
2023-01-31
LeetCode331.验证二叉树的前序序列化
2023-01-31
Leetcode: Spiral Matrix II
2023-01-31
LeetCode: String to Integer (atoi)
2023-01-31
Leetcode:454. 4Sum II
2023-01-31
LeetCode:Restore IP Addresses
2023-01-31
LeetCode——Unique Paths
2023-01-31
LeetCode二叉树从上至下路径问题总结(112.113.437.129)
2023-01-31
LeetCode哈希表+字符类的题目总结
2023-01-31
LeetCode地平线专场——第308场周赛题解
2023-01-31