iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
Software Development

刷刷題 or Alan Becker's game 製作 is a question 系列 第 2

warm up : 830. Positions of Large Groups

  • 分享至 

  • xImage
  •  

title: LeetCode 830. Positions of Large Groups
level: Easy
description:

In a string s of lowercase letters, these letters form consecutive groups of the same character.
For example, a string like s = "abbxxxxzyy" has the groups "a", "bb", "xxxx", "z", and "yy".
A group is identified by an interval [start, end], where start and end denote the start and end indices (inclusive) of the group. In the above example, "xxxx" has the interval [3,6].
A group is considered large if it has 3 or more characters.

Return the intervals of every large group sorted in increasing order by start index.
status: Success

class Solution:
    
    def largeGroupPositions(self, s: str) -> List[List[int]]:
        ansList = []
        cnt = 1
        start = 0
        end = (len(s) -1)
        flag = 0
        for i in range(len(s)):
                
                
                if i>0 and s[i-1]==s[i]:
                    print("c1:"+s[i])
                    cnt = cnt + 1
                    if i==(len(s)-1) and (cnt>=3):
                        flag = 1
                        ansList.append([start,i])
                else:
                    if cnt >=3 :
                        flag = 1
                        print("AnsCnt:"+str(cnt))
                        ansList.append([start,i-1])    
                    print("c2"+s[i])                        
                    start = i    
                    cnt = 1
   
        if flag == 0:
            return []
        print(ansList)
        return ansList          
                    
        

Remark:

  • not yet optimize
  • 待補思路 (因為趕健身)

上一篇
藍紅黃藍綠紅 - 猜一間公司?
下一篇
硬要 list 但要怎麼轉呢? - Medium Level : 2. Add Two Numbers
系列文
刷刷題 or Alan Becker's game 製作 is a question 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言