Position of Large Groups# 問題文字列sが与えられる.同種の文字が連続する部分のうち,長さが3以上の箇所をすべて取り出せ.1 s = "abbxxxxzyy" -> [[3, 6]] ("xxxx") # 解法しゃくとり法.伸ばせるところまでrightを伸ばして,条件を満たさなくなったらleftをright+1まで一気に更新する. 1 2 3 4 5 6 7 8 9 10 11 12 class Solution: def largeGroupPositions(self, s: str) -> List[List[int]]: ans = [] if len(s) == 1: return ans left = 0 for right in range(1, len(s)+1, 1): if right == len(s) or s[left] != s[right]: if right - left >= 3: ans.append([left, right-1]) left = right return ans # 出典https://leetcode.com/problems/positions-of-large-groups/