LeetCode每日一题,830. Position of Large Groups
先看题目描述
大意就是给定一个由小写字母组成的字符串 s,包含一些由连续相同字母组成的分组,将所有包含三个或以上相同连续字母的分组称为较大分组,让我按起始位置下标的递增顺序们返回所有的较大分组
算法和思路
这题的思路很简单,我们可以遍历该字符串,并记录当前分组的长度和起始坐标,如果当前字符与上一个字符不相同,那么我们就找到了当前分组的尾部,若该分组的长度达到 3,则将其加到答案中,并接着维护下一个分组的长度和起始坐标。需要注意的是,对于字符串尾部的分组,需要特殊处理
算法源码
1 | class Solution { |
这里用 Arrays.asList() 方法初始化 List 的用法值得学习一下,以前没怎么试过这个用法,都是先初始化一个空的 List,然后逐个的添加元素,感觉像这样用 Arrays.asList() 方法可以省事些