提交时间:2024-03-02 10:02:53

运行 ID: 133859

#include<bits/stdc++.h> using namespace std; int main(){int last = new; int length = S.length(); for (int i = 0; i < length; i++) { last[S.charAt(i) - 'a'] = i; } List<Integer> partition = new ArrayList<Integer>(); int start = 0, end = 0; for (int i = 0; i < length; i++) { end = Math.max(end, last[S.charAt(i) - 'a']); if (i == end) { partition.add(end - start + 1); start = end + 1; } } cout<< partition; }