lintcode练习

您所在的位置:网站首页 抽搐的意思是什么呢 lintcode练习

lintcode练习

2024-07-12 15:30| 来源: 网络整理| 查看: 265

1401. 抽搐词

我们正常的单词不会有连续两个以上相同的字母,如果出现连续三个或以上的字母,那么这是一个抽搐词。现在给一个单词,从左至右求出所有抽搐字母的起始点和结束点。

样例

给出 str = "whaaaaatttsup", 返回 [[2,6],[7,9]]。

解释: "aaaa"和"ttt"是抽搐字母,输出他们的起始点和结束点。

给出 str = "whooooisssbesssst", 返回 [[2,5],[7,9],[12,15]]。

解释: "ooo"和"sss"和"ssss"都是抽搐字母,输出他们的起始点和结束点。 注意事项 输入的字符串长度为n,n 2: end = i res.append([start, end]) start = i+1 wordlen = 1 else: wordlen = 1 start = i+1 if i+1 == len(s)-1 and wordlen > 2: end = i+1 res.append([start, end]) return res

method 2:

class Solution: """ @param str: the origin string @return: the start and end of every twitch words """ def twitchWords(self, str): results = [] i = 0 n = len(str) while i < n - 2: if str[i] == str[i + 1] and str[i] == str[i + 2]: start = i end = i + 2 while end + 1 < n and str[end] == str[end + 1]: end += 1 results.append([start, end]) i = end i += 1 return results

method 3:

class Solution: """ @param str: the origin string @return: the start and end of every twitch words """ def twitchWords(self, str): # Write your code here n = len(str) c = str[0] left = 0 sums = [] for i in range(n): if str[i] != c: if i - left >= 3: sums.append([left, i-1]) left = i c = str[i] if str[n-1] == c: if n-1 - left >= 2: sums.append([left, n-1]) return sums

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3