题目描述
解法:一趟遍历(C++)
结束循环时,要检查一下是否还有满足条件的分片
class Solution {
public:
vector<vector<int>> largeGroupPositions(string s) {
vector<vector<int>> res;
vector<int> record;
char tmp = s[0];
int end = 0, cnt = 1, i=1;
for(i=1;i<s.length();i++)
{
if(s[i]==tmp) cnt++;
else
{
if(cnt>=3)
{
record.push_back(i-cnt);
record.push_back(i-1);
res.push_back(record);
}
cnt = 1;
record.clear();
tmp = s[i];
}
}
if(cnt>=3)
{
record.push_back(s.length()-cnt);
record.push_back(s.length()-1);
res.push_back(record);
}
return res;
}
};