在乙個由小寫字母構成的字串 s 中,包含由一些連續的相同字元所構成的分組。
例如,在字串 s = 「abb***xzyy」 中,就含有 「a」, 「bb」, 「***x」, 「z」 和 「yy」 這樣的一些分組。
我們稱所有包含大於或等於三個連續字元的分組為較大分組。找到每乙個較大分組的起始和終止位置。
最終結果按照字典順序輸出。
示例 1:
輸入: 「abb***xzzy」示例 2:輸出: [[3,6]]
解釋: 「***x」 是乙個起始於 3 且終止於 6 的較大分組。
輸入: 「abc」示例 3:輸出:
解釋: 「a」,」b」 和 「c」 均不是符合要求的較大分組。
輸入: 「abcdddeeeeaabbbcd」說明: 1 <= s.length <= 1000輸出: [[3,5],[6,9],[12,14]]
依次遍歷字串,記錄連續相同字串的個數
迴圈完畢也應該判斷一下count是否大於等於3
**如下:
class
solution:
deflargegrouppositions
(self, s):
""" :type s: str
:rtype: list[list[int]]
"""lens = len(s)
count = 1
l =
low = 0
for i in range(1,lens):
if s[i]==s[i-1]:
count += 1
else:
if count>=3:
low = i
count = 1
if count >= 3:
return l
LeetCode 830 較大分組的位置
在乙個由小寫字母構成的字串 s 中,包含由一些連續的相同字元所構成的分組。例如,在字串 s abb xzyy 中,就含有 a bb x z 和 yy 這樣的一些分組。我們稱所有包含大於或等於三個連續字元的分組為較大分組。找到每乙個較大分組的起始和終止位置。最終結果按照字典順序輸出。示例 1 輸入 a...
leetCode 830 較大分組的位置
使用乙個變數num記錄當前分組的長度num初始值為1,如果當前字元與之前的字元不同或者當前遍歷到了陣列尾部則判斷num的大小如果num 3,則加入答案,其他情況使num class solution num 1 else return res 利用雙指標記錄陣列每一段的長度,如果當前分組的長度大於等...
leetcode 830 較大分組的位置
目錄 一 題目內容 二 解題思路 三 在乙個由小寫字母構成的字串 s 中,包含由一些連續的相同字元所構成的分組。例如,在字串 s abb xzyy 中,就含有 a bb x z 和 yy 這樣的一些分組。分組可以用區間 start,end 表示,其中 start 和 end 分別表示該分組的起始和終...