题目来源于知识星球—英雄算法联盟,一月算法集训专题
前言
经过漫长的休息之后,在寒假以及新年到来之际再次刷起算法,培养自己的算法素养和算法思维,加油!今天只有一道简单题。
2405.子字符串的最优划分(中等)
1.题目描述
2.解题思路
首先使用count数组来存储每个字母出现的次数,如果某个字母出现的次数为0,则遍历到该字母时,
统计上该字母出现的次数,如果该字母在遍历时以及出现过,则将每个字母出现的次数赋值为0,
重新统计。
3.代码演示(C++)
class Solution
{
public:
int partitionString(string s)
{
int num=0;
int si=s.length();
int count[27]={0};
for(int i=0;i<si;i++)
{
if(count[s[i]-'a']==0)
{
count[s[i]-'a']++;
}
else
{
num++;
for(int k=0;k<27;k++)
{
count[k]=0;
}
count[s[i]-'a']++;
}
}
return num+1;
}
};
4.题目链接
总结
每天跟随英雄哥学习相关的算法,一个月会收获很多,如果你想了解更多关于知识星球的内容,欢迎联系我!