力扣题:字符的统计-12.7
2023-12-13 04:17:02
力扣题-12.7
力扣题1:467. 环绕字符串中唯一的子字符串
解题思想:记录下以字母s[i]结尾的最大的字串个数,然后统计a-z每个字母结尾的最大字串的个数进行i相加
class Solution(object):
def findSubstringInWraproundString(self, s):
"""
:type s: str
:rtype: int
"""
dp = defaultdict(int)
k = 0
for i in range(len(s)):
if i>0 and (ord(s[i])-ord(s[i-1])) %26 == 1:
k += 1
else:
k = 1
dp[s[i]] = max(dp[s[i]],k)
return sum(dp.values())
class Solution {
public:
int findSubstringInWraproundString(string s) {
unordered_map<char, int> dp;
int k=0;
for(int i=0;i<s.size();i++){
if (i > 0 && (s[i] - s[i - 1] + 26) % 26 == 1) {
k++;
}
else{
k = 1;
}
dp[s[i]] = max(dp[s[i]], k);
}
int result = 0;
for (const auto& entry : dp) {
result += entry.second;
}
return result;
}
};
文章来源:https://blog.csdn.net/yumeng3866/article/details/134852632
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!