class Solution {
public:
vector<int> partitionLabels(string s) {
int last_pos[26];
int len = s.size();
for (int i = 0; i < len; ++i) {
last_pos[s[i] - 'a'] = i;
}
vector<int> ans;
int start = 0,end = 0;
for (int i = 0; i < len; ++i) {
if (end < last_pos[s[i] - 'a']) {
end = last_pos[s[i] - 'a'];
}
if (end == i) {
ans.emplace_back(end - start + 1);
start = end + 1;
}
}
return ans;
}
};
相关文章
- Code
- Installshield 多语言安装包 和 安装序列号验证,及如何解决 Failed to set code page for Language 46 问题
- VS Code 修改字体为JetBrains Mono
- 一个适合.NET Core的代码安全分析工具 - Security Code Scan
- 教你如何用本系统批量重命名学生照片 - 匿名者code
- Code
- windows下使用pip安装模块发生“failed with error code 1”的解决方法
- pycharm不能安装第三方库,错误代码Non-zero exit code (1) 的解决办法
- Code-Audit(代码审计)习题记录
- C语言学习笔记—code:blocks工具debug调试异常