763. 划分字母区间


//20220406
题目描述:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。
题目链接:点我

解题思路:

  • 使用贪心策略,贪婪的策略在于尽早结束当前片段(不断更新当前片段结束的坐标)
  • 具体来说就是,使用end start两个指针,以及flag数组(用于记录每个字母最后出现的位置),在遍历的途中,不断更新end的位置,如果遍历index等于end,说明当前片段结束,开始下一片段的寻找
class Solution {
    public List partitionLabels(String s) {
        int[] flag= new int[26];
        for(int i = 0;i res = new ArrayList<>();
        for(int i = 0;i