leetcode刷题.763. 划分字母区间.每日打卡

it2026-08-09  2

解法:贪心 + 双指针

代码:

class Solution { public: vector<int> partitionLabels(string S) { vector<int> out_; int last_[26] = { 0 }; for(int i = 0; i < S.length(); i++) last_[S[i] - 'a'] = i; int start_ = 0, end_ = 0; for(int j = 0; j < S.length(); j++) { end_ = max(end_, last_[S[j] - 'a']); if(j == end_) { out_.push_back(end_ - start_ + 1); start_ = j + 1; } } return out_; } };

 

最新回复(0)