package question;import java.util.*;/*@author: Roderland@create: 2020年10月22日---10:35*/public class Question763 {public static void main(String[] args) {new Question763().partitionLabels("ababcbacadefegdehijhklij");}public List<Integer> partitionLabels(String S) {int[] arr = new int[26];List<Integer> list = new LinkedList<>();for (int i = 0; i < S.length(); i++) {arr[S.charAt(i) - 'a']++;}Set<Character> set = new HashSet<>();int i = 0;int tmp = 0;while (i < S.length()) {char c = S.charAt(i++);arr[c - 'a']--;set.add(c);while (!set.isEmpty()) {c=set.iterator().next();for (; arr[c - 'a'] > 0; i++) {arr[S.charAt(i) - 'a']--;if (S.charAt(i) != c) set.add(S.charAt(i));}set.remove(c);}list.add(i-tmp);tmp=i;}//list.forEach(System.out::print);return list;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。