class Solution {
public:
vector<int> partitionLabels(string s) {
vector<int> ans;
int left = 0, right = 0;
int hash[27];
for (int i = 0; i < s.size(); i++)
hash[s[i] - 'a'] = i;
for (int i = 0; i < s.size(); i++) {
right > hash[s[i] - 'a'] ? right : right = hash[s[i] - 'a'];
if (i == right) {
ans.push_back(right - left + 1);
left = i + 1;
}
}
return ans;
}
};
LeetCode 763. 划分字母区间
最新推荐文章于 2025-05-10 18:09:08 发布