题目描述:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。
双指针
思路一:目的是找到最多的n个区间,这写区间中的字母在别的区间没有出现。那么从第一个字母开始,从后边找到与其相同的作为区间的终点。在这个区间里移动,找相对应字母的最后一个,如果比其大我们就更新区间的终点。
c 语言用数字代替就好
代码:
vector<int> partitionLabels(string s) {
vector<int>ans;
// left :双指针的左指针,用来查询区间中的字母
// end :记录当前区间的末端
//start:记录区间的开始位置
int left,end,start;
int n = s.size();
left= 0;
while(left<n) //不能超过字符串长度
{
start = left; //记录区间开始位置
char ch

最低0.47元/天 解锁文章
306

被折叠的 条评论
为什么被折叠?



